使用PHP邮件 - 设置正确的MIME类型

时间:2010-09-29 10:12:37

标签: php html email header mime

我遇到了一个发送电子邮件确认的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));

2 个答案:

答案 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