Отправить письмо с вложенным двоичным изображением в переполнении стека

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

Теперь я отправляю html следующим образом (в кодировке base 64):

<img src="data:image/png; base64, iVBORw0KGgoAAAANSUhEUgAAANIAAANBCAYAAAC ..." />

Я использую библиотеку SwiftMailer от Symfony2 для отправки электронных писем.

Полный пример кода (с разрезами в двоичном коде):

//params
$subject = "Demo e-mail";
$body = "<html>
<table>
<tr>
<td>
<img src='data:image/png; base64, iVBORw0KGgo...zIIAAAAASUVORK5CYII='>
</td>
<td style='padding-left:20px'>
<div>
<h3>Product name</h3>
<h4>Code 3089</h4>
<p>14.70 $</p>
</div>
</td>
</tr>
</table>
</html>";
$name = "Client name";
$email = "clientmail@domain.com";
$from_address = "mail@domain.com";
$from_name = "App Name";

//SwiftMessag eobject
$message = \Swift_Message::newInstance()
->setSubject($subject)
->setFrom(array($from_address => $from_name))
->setTo(array($email => $name))
->setBody($body, 'text/html');

//send email
$this->get('mailer')->send($message);

1

Решение

Я вложил изображение в электронное письмо с этим кодом:

$message = \Swift_Message::newInstance();

$body = '<html><head></head><body>'.
'<p><img src="'.$message->embed(\Swift_Image::fromPath(
\Swift_Attachment::fromPath([full path to you image]
)
->setDisposition('inline'))).'" alt="Image" /></p>'.
'</body></html>'
;

$message
->setSubject('Subject')
->setFrom($from)
->setTo($to)
->setBody(
$body,
'text/html'
)
;

$this->mailer->send($message);

замещать [full path to you image] с путем к вашему изображению, например dirname(__FILE__).'/../images/image.png',

1

Другие решения

Других решений пока нет …