0

我有一个脚本,它使用 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>
4

1 回答 1

2

您为附加的图像创建一个名称/标识符,并在您要显示的位置(主体)的图像标签中调用它。代码如下所示,

$mail->AddEmbeddedImage('img/image1.jpg', 'logo');

<img src='cid:logo\' />
于 2013-05-31T12:59:57.460 回答