У меня есть сценарий, который отправляет электронные письма с помощью phpmailer() с прикрепленным изображением, которое также отображается в теле письма. Приемники, которые используют Outlook или некоторые мобильные клиенты, сообщили, что у них есть проблемы с просмотром изображения в теле электронной почты. Я попытался проверить способ, которым thunderbird прикрепляет подпись. Из того, что я понял, изображение связано с его идентификатором вложения, но не отображается как вложение (я не ищу этого точного поведения, оно все равно может быть как вложение, но действительно нужно, чтобы оно отображалось в Outlook и мобильных клиентах).
Итак, мой вопрос заключается в том, как изменить мой скрипт так, чтобы мое изображение было прикреплено к электронной почте так же, как и thunderbird прикрепляет подпись, или есть стандарт или лучшая практика в этом?
Edit: код, используемый при отправке электронной почты скрипта:Отображать прикрепленное изображение в теле письма
$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>
Показать код пожалуйста –