2012-05-01 34 views
4

我在我的Ubuntu服务器上设置了PHP和Postfix。我需要从PHP脚本发送HTML电子邮件。该电子邮件发送得很好,但它显示为包含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

是$ content有效的html吗? – 2012-05-01 10:38:08

+0

$ vars ['title']解释这个 – srini

+0

Dagon,它足以在浏览器中工作。 –

回答

-1

我想是因为没有 '$' FROM_EMAIL变量的第四集是错误的

尝试

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

$瓦尔[ '标题']更改为$ VAR

mail($email, $vars, $content, $headers); 
+0

伙计,FROM_EMAIL是一个常数,它不需要美元符号。我知道我传递给函数的变量是什么,它们是正确的。 –

+0

你有什么错误 – srini

4
$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<[email protected]>' . "\r\n"; 
    // Mail it 
    mail($to, $subject, $message, $headers); 
+0

请再看看第一篇文章。我改变了标题,但没有运气。 –

2

你能尝试这些线

$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"; 

看看如果他们工作