2010-01-24 58 views
2

我使用PEAR从我的网站发送HTML电子邮件。 我的电子邮件已发送,但在Hotmail/Yahoo/GMail中查看时未根据CSS格式化。当我在Windows Live MAIL中查看它们时,它们看起来很棒。在Hotmail/Yahoo/GMail中,PEAR MAIL HTML电子邮件格式不正确

更具体地说,好像是不考虑CSS(文本格式,背景图像等)。

这里是我用来发送电子邮件的代码:

$headers = array('From' => $from, 'Subject' => $subject, 'To' => $to); 

require_once 'Mail.php'; 
require_once 'Mail/mime.php'; 

$crlf = "\n"; 

$mime = new Mail_mime($crlf); 
$mime->setTXTBody($plainText); 
$mime->setHTMLBody($htmlText); 

$body = $mime->get(); 
$headers = $mime->headers($headers); 

$mail = Mail::factory("mail"); 
$send = $mail->send($to, $headers, $body); 
if (PEAR::isError($send)) { 
    $mail_sent = 0; 
}else { 
    $mail_sent = 1; 
} 

我应该在头的Content-Type?我试过了,但没有帮助。

$ htmlText是一个包含我的html的变量。样式嵌入到HTML中(未链接到CSS文件)。

如果任何人都可以让我知道为什么我的电子邮件没有格式化在Web客户端,我会很乐意。

非常感谢,

谢夫

回答

3

只能用很简单的样式规则的邮件,它应该在嵌入式样式表内联并没有规定。你可以在这里阅读了大量的信息:

http://www.anandgraves.com/html-email-guide

+0

感谢您的快速回复,这非常有帮助。我仍然遇到一些问题,但我想这完全归咎于试验和错误。 再次感谢。 – 2010-01-24 22:20:59

1

这是最好的假定邮件客户端只支持在内嵌样式和图像最。