我在我的Ubuntu服务器上设置了PHP和Postfix。我需要从PHP脚本发送HTML电子邮件。电子邮件发送得很好,但它显示为包含HTML标签的纯文本。此外,一些标题也会显示在电子邮件中。
我的猜测是,它与标题有关。我花了将近一天时间寻找可能的解决方案而没有找到解决方案。
这是PHP代码:
$headers='';
$headers.="MIME-Version: 1.0 \r\n";
$headers.="Content-type: text/html; charset=\"UTF-8\" \r\n";
$headers.="From: ".FROM_EMAIL."\r\n";
mail($email, $vars['title'], $content, $headers);
编辑:
$headers='';
$headers.='MIME-Version: 1.0'."\r\n";
$headers.='Content-type: text/html; charset=iso-8859-1'."\r\n";
$headers.='From: Kinesioteip.ee<'.FROM_EMAIL.'>'."\r\n";
$headers.='To: '.$email."\r\n";
mail($email, $vars['title'], $content, $headers);
仍然没有运气......
答案 0 :(得分:5)
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'To:' . "\r\n";
$headers .= 'From: Admin<youremail@email.com>' . "\r\n";
// Mail it
mail($to, $subject, $message, $headers);
答案 1 :(得分:3)
你能尝试改变这些行吗?
$headers.="MIME-Version: 1.0 \r\n";
$headers.="Content-type: text/html; charset=\"UTF-8\" \r\n";
到
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
并查看它们是否有效
答案 2 :(得分:-1)
我认为您的第四个标头错误,因为FROM_EMAIL变量没有'$'
试
$headers.="From: ".$FROM_EMAIL."\r\n";
$ vars ['title']改为$ var
mail($email, $vars, $content, $headers);