每当我尝试嵌入图片时,GMail都会显示空白内容而不是HTML消息。
以下是代码:
$body = file_get_contents($filesDir . '/emails/wbd.html');
$mail = new \PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = $c['config']['mail.params']['auth'];
$mail->SMTPSecure = $c['config']['mail.params']['secure'];
$mail->Host = $c['config']['mail.params']['host'];
$mail->Port = $c['config']['mail.params']['port'];
$mail->Username = $c['config']['mail.params']['user'];
$mail->Password = $c['config']['mail.params']['password'];
$mail->IsHTML(true);
$mail->SetFrom('example@gmail.com', 'Some name');
$mail->Subject = 'Some subject';
$mail->Body = $body;
$mail->AddEmbeddedImage($filesDir . '/emails/img/community-i.png', 'community-i', 'community-i.png');
$mail->AddAddress($to);
$mail->Send();
如果我删除了对 AddEmbeddedImage 的函数调用,则会发送HTML邮件。 图像的路径 $ filesDir。 '/emails/img/community-i.png'是正确的,因为函数 AddEmbeddedImage 返回true(错误的路径将显示HTML消息)。
我也试试这个:
$mail->AddEmbeddedImage($filesDir . '/emails/img/community-i.png', 'community-i');
$mail->Body = 'Embedded Image: <img alt="PHPMailer" src="cid:community-i"> Here is an image!';
但同样的问题,空白内容(如果我评论 AddEmbeddedImage 函数调用,内容将显示并按预期显示而不是图像,则会显示alt标记。)
我在Gmail,Yahoo和Hotmail上测试过,并且所有地址都存在同样的问题。
答案 0 :(得分:0)
确保您的PHPMailer库是最新的!