我正在使用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文件)。
如果有人能告诉我为什么我的电子邮件没有在网络客户端格式化,我将不胜感激。
非常感谢,
谢夫
答案 0 :(得分:3)
您只能在邮件中使用非常简单的样式规则,并且应该在内联中指定,而不是在嵌入式样式表中指定。你可以在这里阅读很多信息:
答案 1 :(得分:1)
最好假设邮件客户端最多只支持内联样式和图像。