5

我在我的 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);

还是没有运气...

4

3 回答 3

6
    $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);
于 2012-05-01T10:38:54.357 回答
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";

看看它们是否有效

于 2012-05-01T10:39:51.620 回答
-1

我认为你的第四个标题是错误的,因为 FROM_EMAIL 变量没有'$'

尝试

        $headers.="From: ".$FROM_EMAIL."\r\n";

$vars['title'] 更改为 $var

 mail($email, $vars, $content, $headers);
于 2012-05-01T10:38:19.863 回答