Я пытаюсь создать html-письмо с Swiftmailer и встроить изображение в бит html. Если я просто отправлю почту с открытым текстом и с html-версиями, версия html появится просто отлично, со сломанным изображением (конечно). Однако, если я внедряю изображение, я вижу только текстовую версию, и как html-версия, так и изображение отображаются как вложения.Вложение изображения с помощью swiftmailer делает gmail show html в качестве вложения
Неправильно ли что-либо или придерживаться такого подхода?
Заголовки:
Message-ID: <[email protected]>
Date: Sun, 15 Feb 2015 16:04:55 +0100
Subject: Subject here
From: Fastaval <[email protected]>
To: [email protected]
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="_=_swift_v4_1424012695_eef1c60fde0ddd3f8a9ad82190b115f8_=_"
Обычный текст заголовка:
--_=_swift_v4_1424012695_eef1c60fde0ddd3f8a9ad82190b115f8_=_
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Html Заголовок:
--_=_swift_v4_1424012695_eef1c60fde0ddd3f8a9ad82190b115f8_=_
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Встроенный заголовок изображения:
--_=_swift_v4_1424012695_eef1c60fde0ddd3f8a9ad82190b115f8_=_
Content-Type: image/jpeg; name=Banner15.jpg
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename=Banner15.jpg
Content-ID: <[email protected]>
HTML-бит с изображением:
<div><img alt=3D"banner" src=3D"cid:8e75618e41588e7e5=
b6953f0c319e2[email protected]"/></div>
Я генерируя письмо так:
$this->_message = Swift_Message::newInstance()
->setFrom($from)
->setTo($to)
->setSubject($subject)
->setBody($message, 'text/plain');
$html = '<div><img alt="banner" src="banner-src"/></div>';
$html = str_replace('banner-src', $this->_message->embed(Swift_Image::fromPath('Banner15.jpg')), $html);
$this->_message->addPart($html, 'text/html');
Вы когда-нибудь это выясняли? –
К сожалению нет - я пошел с просто ссылкой на онлайн-версии файлов вместо – Fake51