【问题标题】:Compiling email with multiple attachments in PHP在 PHP 中编译带有多个附件的电子邮件
【发布时间】:2010-10-17 18:05:28
【问题描述】:

我需要通过 PHP 发送一封包含多个图像附件的电子邮件。我目前有一个使用两个硬编码图像的测试设置。我用所有必要的标题编译电子邮件并将其发送出去。但是,当我收到它时,它只将第一张图片显示为附件。第二张图片似乎被忽略了(使用 Groupwise 和 Gmail 测试)。

当我查看电子邮件的来源时,以下是我在服务器生成的标头之后看到的内容。显然两个附件(图片)都在其中,但只有第一个附件显示为附件。

任何帮助将不胜感激。

This is a multi-part message in MIME format.

--==Multipart_Boundary_x38e1b83d34375e183a2fdcd6a9c001f8x
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

my message text

--==Multipart_Boundary_x38e1b83d34375e183a2fdcd6a9c001f8x
Content-Type: image/gif;
 name="image1.gif"
Content-Disposition: attachment;
 filename="image1.gif"
Content-Transfer-Encoding: base64

iVBORw0KGgoAAAANSUhEUgAAABEAAAAMCAIAAAALR8HoAAABgElEQVQoFZWQzSuEURTG7z3n3Pt+

*[-- snip --]*

SaHPETExQ6HQ0BB4Z8FwTr/KHVc/AJ98jIf2BGdKAAAAAElFTkSuQmCC

--==Multipart_Boundary_x38e1b83d34375e183a2fdcd6a9c001f8x--

--==Multipart_Boundary_x38e1b83d34375e183a2fdcd6a9c001f8x
Content-Type: image/gif;
 name="image2.gif"
Content-Disposition: attachment;
 filename="image2.gif"
Content-Transfer-Encoding: base64

iVBORw0KGgoAAAANSUhEUgAAAKMAAAAyCAIAAAC/NPwxAAAAA3NCSVQICAjb4U/gAAAACXBIWXMA

*[-- snip --]*

yh4+kv39P/vticlfC0Muodov+5posktKGGb7/2pscsAoKykp2W8fTH4Exv1tEEbD3NNGwbi/y8do
mNnbKPwf2Oju7uv54J4AAAAASUVORK5CYII=

--==Multipart_Boundary_x38e1b83d34375e183a2fdcd6a9c001f8x--

【问题讨论】:

  • 你能给我们看一些代码吗?否则极难诊断。

标签: php email attachment


【解决方案1】:

凭记忆:

SaHPETExQ6HQ0BB4Z8FwTr/KHVc/AJ98jIf2BGdKAAAAAElFTkSuQmCC

--==Multipart_Boundary_x38e1b83d34375e183a2fdcd6a9c001f8x--
^^^ DELETE THIS LINE ^^^

--==Multipart_Boundary_x38e1b83d34375e183a2fdcd6a9c001f8x

你不应该有两个相邻的边界,并且末尾的“--”仅用于last部分的末尾。

【讨论】:

  • 谢谢。我的印象是带有--的行结束了一个特定的块。将在早上进行测试。
  • 这正是问题所在。谢谢!
【解决方案2】:

如果您的目的没问题,您可以尝试使用PHPMailer(在LGPL 下获得许可)。它非常易于使用,可以为您处理所有复杂的邮件。

【讨论】:

  • 谢谢!我一定会调查的。
【解决方案3】:

整封邮件是否按照应有的方式声明为 multipart/mixed

$headers .= 'MIME-Version: 1.0'. "\n";
$headers .= "Content-Type: multipart/mixed; boundary=\"".$mime_boundary."\"". "\n";  

【讨论】:

  • 我从这个开始,但它似乎没有任何区别。明天早上再试。
猜你喜欢
  • 2014-09-25
  • 2012-10-21
  • 1970-01-01
  • 1970-01-01
  • 2019-05-25
  • 2021-12-30
  • 2021-09-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多