【问题标题】:PHP send MIME emails...doesn't work anymorePHP 发送 MIME 电子邮件...不再起作用
【发布时间】: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 ...不...我定制了我自己的小班...之前它似乎工作得很好...

标签: php email mime


【解决方案1】:

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

可能的原因有:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2011-06-06
    • 1970-01-01
    • 2017-08-07
    相关资源
    最近更新 更多