PHP 发送 MIME 电子邮件...不再起作用

Posted

技术标签:

【中文标题】PHP 发送 MIME 电子邮件...不再起作用【英文标题】:PHP send MIME emails...doesn't work anymore 【发布时间】:2011-01-08 01:42:59 【问题描述】:

我刚刚从共享服务器切换到虚拟专用服务器。整个网站都可以正常工作,但我的邮件表单已经不再像以前那样发送 MIME 电子邮件了。

服务器切换之前出现的内容:

你好

电子邮件中现在出现的内容(好像我的客户不支持 MIME):

内容类型:多部分/替代;边界="==DL- bound_b08bcfabdc459ae7e87e493a984115b3"

这是来自的多部分 MIME 消息 您在 Example.com 上的朋友。如果你 正在阅读这篇文章,看来我们有一个 要传递的消息,但您的邮件 客户端未设置为接收这些 消息类型。我们很抱歉 不便之处:(

--==DL-bound_b08bcfabdc459ae7e87e493a984115b3

内容类型:文本/纯文本; 字符集=iso-8859-1

内容传输编码:7bit

你好

php 中是否有一些开关或者我需要打开什么来发送 MIME?

【问题讨论】:

您是否使用诸如 PHPMailer 之类的库来创建多部分 MIME 邮件? joel ...不...我定制了我自己的小班...之前它似乎工作得很好... 【参考方案1】:

看起来标题是在邮件的正文部分发送的。 我前段时间遇到过这个问题。

可能的原因有:

1.停产 我使用“\r\n”作为 MIME 标头的 eol(遵循规范) ,但(共享)服务器想要一个“\n”

2。最后一个标题 一些邮件服务器会添加一些自己的标头。如果最后一个标头以“\n”结尾,邮件服务器也可能会搞砸。

3.空标题 导致 $headers 中的“\n\n”的空标题将损坏标题。 “\n\n”又名“空行”标志着电子邮件标题部分的结尾(或正文的开头)

【讨论】:

以上是关于PHP 发送 MIME 电子邮件...不再起作用的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在不使用 MIME 的情况下使用包含 CSS 装饰的 PHP 发送 html 电子邮件?

使用 S/MIME (PHP) 发送带有附件的电子邮件

使用 PHP 的邮件发送 mime 编码电子邮件的正确格式

Mime 和 Office365

从 PHP 发送 MIME 电子邮件时,Exim 会覆盖“发件人”标头

为啥自定义 CSS 文件不再起作用? [关闭]