前段时间我创建了一个发送MIME编码电子邮件的PHP脚本。它工作正常,包括附件和内嵌图像。奇怪的是,这些电子邮件并没有出现在我的iPod Touch(第3代,iOS 5.1.1)的收件箱中,尽管它们出现在Windows Live Mail,GMail和更高代的iPad / iPhone中。 我已经将原始邮件的来源与GMail转发的原始邮件进行了比较(因为转发的邮件已被我的iPod识别)。似乎MIME结构没有一个区别。
有人知道是否必须有To,From,Subject,...标题的特定序列才能使其正常工作? 以下是一条示例消息:
[BLADIBLADIBLA]
Date: Wed, 7 Aug 2013 13:02:31 +0000
To: Name <email@domain.com>
Subject: Test 5
X-PHP-Originating-Script: 0:email.php
MIME-Version: 1.0
From: Name <email@domain.com>
Reply-To: Name <email@domain.com>
Content-Type: multipart/mixed; boundary=boundMixed
--boundMixed
Content-Type: multipart/related; boundary=boundRelated
--boundRelated
Content-Type: multipart/alternative; boundary=boundAlternative
--boundAlternative
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7-bit
[PLAIN TEXT]
--boundAlternative
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7-bit
[HTML]
--boundAlternative--
--boundRelated
Content-Type: image/png; name="logo.png"
Content-Transfer-Encoding: base64
Content-ID: <logo.png@domain.com>
[INLINE IMAGE DATA]
--boundRelated--
--boundMixed
Content-Type: text/plain; name="file.txt"
Content-Disposition: attachment; filename="file.txt"
Content-Transfer-Encoding: base64
[ATTACHMENT DATA]
--boundMixed--
为了清楚起见,我用人类可读的东西取代了边界哈希。此外,我打算使用不同的部分使其更具可读性;实际数据并非如此!
PHP mail() - 函数可能有问题吗?或者是否有关于边界之后的换行数量的严格规则?
提前致谢!