我有一个脚本,它使用带有附加图像的phpmailer()发送电子邮件,它也会显示在电子邮件正文中。使用Outlook或某些移动客户端的接收器报告他们在查看电子邮件正文中的图像时遇到问题。
我试图检查雷鸟附加签名的方式。根据我的理解,图像通过它的附件ID链接但不显示为附件(我不是在寻找这种确切的行为,它仍然可以作为附件但是真的需要它在Outlook和移动客户端中显示)。
所以我的问题是我应该如何更改我的脚本,以便我的图像以与雷鸟附加签名相同的方式附加到电子邮件中,或者是否有标准或最佳实践?
编辑:用于发送电子邮件脚本的代码:
$subject = 'Subject - ';
$emails = get_emails()
foreach ($emails as $email) {
define("PHPMAILER",0);
$message = $content;
$path = 'xxx';
require_once ($path);
$mailer = new PHPMailer();
$mailer->SMTPDebug = true;
$mailer->IsSMTP();
$mailer->Host = 'xxx';
$mailer->SMTPAuth = true;
$mailer->SMTPSecure = 'tls';
$mailer->Username = 'xxx';
$mailer->Password = 'xxx';
$mailer->FromName = 'xxx';
$mailer->From = 'xxx';
$mailer->AddAddress($email,"xxx");
$mailer->Subject = $subject;
$mailer->IsHTML(true);
//get the images that needs to be embedded
$embeds = get_images($firma_id,0);
if ($embeds == 0) {echo "No embeds";} else {
foreach ($embeds as $key => $value) {
$mailer->AddEmbeddedImage($value,"img".$key,"grafic_".$key.".png");
}
$mailer->MsgHTML($message);
if (!$mailer->Send()) {
exit;
}
}
}
,内容如下:
<td style='font-family: Arial; font-size: 12px;'>
<img style='margin-right: 10px;' src='cid:img".$grafic."' alt='grafic".$grafic."' width='800' align='left'>
</td>
答案 0 :(得分:2)
为附加的图像创建名称/标识符,并在要显示的位置(正文)的图像标记中调用该名称/标识符。代码如下所示,
$mail->AddEmbeddedImage('img/image1.jpg', 'logo');
<img src='cid:logo\' />