PHPMailer html电子邮件不显示为html

时间:2017-11-09 13:47:47

标签: php html gmail phpmailer html-email

我们有一个电子邮件系统,通过PHPMailer格式化电子邮件。当PHPMailer发送电子邮件时,我在电子邮件客户端中打开它,它显示为文本而不是HTML。

我尝试过使用Gmail和Yahoo - 两个客户都将电子邮件显示为HTML源代码。

有人对我如何解决这个问题有任何建议吗?

注意:如果我使用Outlook附加HTML电子邮件的版本(作为文本插入),则会在上面列出的电子邮件客户端中正确发送和显示电子邮件。

提前致谢

2 个答案:

答案 0 :(得分:1)

我认为PHPMailer没有将您的代码识别为HTML。 尝试在创建电子邮件时添加以下代码:

$mail->IsHTML(true);  

修改 这是我正在使用并正常工作的代码示例。您可以交叉检查是否有任何差异。

$mail = new PHPMailer;
//Set email parameters  
$mail->isSMTP();                            // Set mailer to use SMTP
$mail->Host = 'smtp.office365.com';      // Specify main and backup server
$mail->SMTPAuth = true;                          // Enable SMTP authentication
$mail->Username = 'example@mydomain.co.uk';     // SMTP username
$mail->Password = 'MyPassword';                  // SMTP password                      
$mail->SMTPSecure = 'tls';           // Enable encryption, 'ssl' also accepted
$mail->Port = 587;
$mail->From = $fromEmail;
$mail->FromName = self::getEmailName($email);
$mail->addAddress($email);
$mail->WordWrap = 50;                            // Set word wrap to 50 characters  
$mail->isHTML(true);                             // Set email format to HTML
$mail->CharSet = "UTF-8";

答案 1 :(得分:1)

默认情况下,Phpmailer将电子邮件正文设置为纯文本。您需要通过设置$eMail->IsHTML(true);

将主体指定为html