我有一封我想发送的电子邮件(整个电子邮件都在标题中)。实际上,电子邮件正在发送。但是当它到达目的地时,内容已被删除。如果我发送完全相同的电子邮件,由不同服务器的相同代码构建,那么一切都很好。
当我使用nl2br(htmlspecialchars($headers, ENT_QUOTES))
打印出来时,这就是我得到的:
From: kittsil@example.com
Reply-to: kittsil@example.com
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="cccf6094979eaede770a2a2e88fc83e9"
Content-Transfer-Encoding: 7bit
This is a MIME encoded message.
--cccf6094979eaede770a2a2e88fc83e9
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
You are not being awesome....
--cccf6094979eaede770a2a2e88fc83e9--
当电子邮件发送时,正文是空的,当我在Gmail"显示原始文件时看到它,"它看起来一样,但内容不存在。
我正在使用postfix和OpenDKIM,但我已经禁用了它们,甚至切换回sendmail,这些电子邮件都没有。我把头发撕掉了。
答案 0 :(得分:1)
您的邮件正文中缺少空白行。
引用from the RFC:
每个部分以封装边界开始,然后包含由标题区域,空行和正文区域组成的正文部分。
(强调我的)
添加适当的空白行并且有效:
部首:
From: kittsil@example.com
Reply-to: kittsil@example.com
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="cccf6094979eaede770a2a2e88fc83e9"
Content-Transfer-Encoding: 7bit
体:
This is a MIME encoded message.
--cccf6094979eaede770a2a2e88fc83e9
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
You are not being awesome....
--cccf6094979eaede770a2a2e88fc83e9--