php - PhpMailer 不使用 html
问题描述
我正在使用PhpMailer
类发送包含 html 的电子邮件,我注意到如果电子邮件上的正文包含img
标签,则电子邮件不会收到并且没有错误显示。
有什么建议么?
到目前为止我的代码:
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "myusername";
$mail->Password = "mypassword";
$mail->setFrom($from);
$mail->addAddress($to);
$mail->Subject = $subject;
$mail->Body =$body;
$mail->IsHTML(true);
if ($mail->send()) {
return 1;
} else {
return 0;
}
解决方案
如果您尝试从 localhost 发送它并在 gmail 中读取,它将无法正常工作,因为 gmail 经常创建代理图像链接。您需要发送直接到互联网可访问位置的图像链接。大概就是这样。如果您要发送包含可访问 Internet 的位置的链接的电子邮件,请将它们附加到问题中,我也会更新答案。
EIDT:与提问者聊天后,确定电子邮件 HTML 缺少正常的 HTML 标记:<html><body>ACTUALCONTENT</body></html>
添加这些后,图像正确显示。