PHPMailer和样式表格式

时间:2011-07-20 18:54:36

标签: php html css email phpmailer

我正在使用PHPMailer自动发送订单确认作为HTML格式的电子邮件。除了确认的格式不正确外,一切都按预期工作。我在样式表中添加了一个“AddAttachment”行,它似乎修复了确认表单的标题,但表单的其余部分仍然不正确。有没有人遇到这种情况,知道我需要做些什么来解决它?我编辑的程序代码如果有帮助的话就会跟进!

<?php

require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->SMTPDebug = 0;
$mail->IsSMTP();  // telling the class to use SMTP
$mail->SMTPAuth = true;

$mail->Port       = 25;                  // set the SMTP port
$mail->Host     = "<<smtp server>>"; // SMTP server
$mail->Username = "<<username>>";
$mail->Password = "<<password>>";

$mail->From     = "<<email address>>";
$mail->FromName = "<<name>>";
$mail->AddAddress("<<email address>>");

$mail->Subject  = "Acknowledgement Form";
$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional - MsgHTML will create an alternate automatically
$mail->IsHTML(true);

$mail->Body = file_get_contents('<<acknowledgement form page>>');
$mail->AddAttachment('printer.css'); // attach style sheet

if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}
?>

1 个答案:

答案 0 :(得分:2)

您不应该使用电子邮件中的外部CSS文件...没有多少电子邮件客户端可以处理,而且并非所有客户都使用Outlook或Thunderbird等电子邮件客户端。相反,你应该删除你的HTML代码“90s风格”:-P

e.g。 <p style="width: 200px; text-align: center;">