我刚刚从共享服务器切换到虚拟专用服务器 . 整个网站都有效,但我的邮件表单已经按照以前的方式退出发送MIME电子邮件 .
以前在服务器切换之前出现的内容:
你好
现在在电子邮件中显示的内容(看起来好像我的客户端不支持MIME):
内容类型:multipart / alternative; boundary =“== DL-bound_b08bcfabdc459ae7e87e493a984115b3”这是来自Example.com的朋友的多部分MIME消息 . 如果您正在阅读此内容,我们似乎有一条要传递的邮件,但您的邮件客户端未设置为接收这些类型的邮件 . 对于给您带来的不便,我们深表歉意:( - == DL-bound_b08bcfabdc459ae7e87e493a984115b3内容类型:text / plain; charset = iso-8859-1 Content-Transfer-Encoding:7bit hallo fwend
是否有PHP中的某些开关或我需要打开发送MIME的东西?
1 回答
看起来 Headers 是在消息的正文部分发送的 . 我曾经有过这个问题 .
可能的原因是:
1. EOL
我使用"\r\n"作为MIME Headers 的eol(遵循规范),但(共享)服务器需要"\n"
2. Last header
有些邮件服务器会添加一些自己的 Headers . 如果最后一个 Headers 以"\n"结尾并且邮件服务器也可能搞乱了 .
3. Empty header
导致$ header中的"\n\n"的空标头会破坏标头 . "\n\n"又名"empty line"标记了电子邮件 Headers 部分的末尾(或正文的开头)