встроенное / встроенное изображение вложение не видно в письме, отправленном PHP Swift Mailer - PullRequest
0 голосов
/ 25 июня 2019

Я отправляю изображение с вложением, которое должно быть показано как встроенное изображение.

Я не могу выяснить, что с ним не так. Я не помню, чтобы это было проблемой, когда я закодировал почтовую программу

Это заголовок изображения внутри письма

--_=_swift_1561449240_8047151997d755eb732462545a29a594_=_
Content-Type: image/png; name=logo.png
Content-Transfer-Encoding: base64
X-Attachment-Id: logo
Content-ID: <logo>
Content-Disposition: inline; filename=logo.png

Эта функция отправляет электронное письмо с вложениями.

public function send(MailInterface $mail, array $attachments = array())
    {
        /* @var SwiftMail $swiftMail */
        $swiftMail = new SwiftMail(
            $mail->getSubject(),
            $mail->getBody(),
            "text/html"
        );

        foreach ($attachments as $contentId => $contentPath) {
            if (null != $contentPath) {

                // prepare content to be send as an attachment
                $attachment = SwiftAttachment::fromPath($contentPath);
                $attachment->setDisposition("inline");
                $attachment->getHeaders()->addTextHeader("Content-ID", "<" . $contentId . ">");
                $attachment->getHeaders()->addTextHeader("X-Attachment-Id", $contentId);

                // add the attachment to the mail
                $swiftMail->embed($attachment);
            }
        }

    /* ... etc ... */

В шаблоне я устанавливаю источник для идентификатора контента следующим образом:

<img src="cid:<logo>">
...