Php邮件奇怪的行为\ r \ n和html内容

时间:2014-07-12 18:20:14

标签: php email header html-email

我正在构建一个简单的cms系统,并发送邮件。 一周后没有任何问题,下一个源启动FAILed -

$headers .= "Importance: High\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "Content-Transfer-Encoding: 8bit";

``IF (mail ($email, $subject, $message, $headers, " -f". $email) === TRUE)``

HTML邮件内容还可以。

所以,经过很长一段时间我发现失败在\ r \ n之间,在

之间
MIME-Version: 1.0\r\ncontent-type: text/html; charset=iso-8859-1... - FAIL

当我把空格放在\ r \ n - < - p>之后

MIME-Version: 1.0\r\n content-type: text/html; charset=iso-8859-1... - TRUE

但邮件html内容是纯文本。

所以我把 - 内容的第一个字母改为ANSII字符 - &amp; - # - 67; ontent ...并且它有效,

但是再次使用纯文本的html。

也许ANSII char做了错误的html显示?

另外\ r \ n之间 - ...content-type: text/html; charset=iso-8859-1\r\nContent-Transfer-Encoding: 8bit...是正确的!

我必须将以前的邮件验证更改为 -

IF(mail($email, $subject, $message, $headers))

我从来没有见过这样的东西,我不明白这里的问题,我认为问题出在托管服务器上。

请帮忙。 非常感谢。

0 个答案:

没有答案