PEAR MAIL HTML电子邮件在Hotmail / Yahoo / GMail中格式不正确

时间:2010-01-24 20:18:08

标签: php html email format pear

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

更具体地说,似乎没有考虑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文件)。

如果有人能告诉我为什么我的电子邮件没有在网络客户端格式化,我将不胜感激。

非常感谢,

谢夫

2 个答案:

答案 0 :(得分:3)

您只能在邮件中使用非常简单的样式规则,并且应该在内联中指定,而不是在嵌入式样式表中指定。你可以在这里阅读很多信息:

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

答案 1 :(得分:1)

最好假设邮件客户端最多只支持内联样式和图像。