我遇到了一个发送电子邮件确认的PHP脚本的问题。在Thunderbird中接收电子邮件时,标题会出现\ r \ n存在,并且MIME类型也包含Content-type信息。因此,电子邮件呈现为纯文本,而不是HTML。
如果我将MIME类型注释掉,则电子邮件会正确呈现。首先,这样做是否存在重大问题,其次,可能导致这种情况的原因是什么呢?
if($apptpro_config->html_email == "Yes"){
//$headers .= 'MIME-Version:1.0\r\n';
$headers .= 'Content-type:text/html; charset=ISO-8859-1\r\n';
}
return(mail($to, $subject, $message, $headers));
答案 0 :(得分:10)
确保用双引号括起\ r \ n(不是单引号!),以便PHP可以将其转换为正确的换行代码
$header = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";
答案 1 :(得分:0)
我知道这不是您正在寻找的具体答案,但您是否尝试过Zend Mail?
它简化了HTML电子邮件的设置,如果在客户端禁用HTML,您可以将其配置为发送纯文本版本。
检查出来: http://framework.zend.com/manual/en/zend.mail.html-mails.html