2015-09-15 3 views
0

Я хочу послать base64 кодированное изображение с помощью TYPO3 Swift Mailer, но он не работает, как ожидалось:Как я могу отправить base64 кодированное изображение с TYPO3

$mail = GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Mail\\MailMessage'); 
$mail->setFrom(array($fromEmail => $fromName)); 
$mail->setTo(array($toEmail => $toName)); 
$mail->setSubject($subject); 
$mail->setBody($body, 'text/html'); 

if ($data->attachmentExists()) { 
    $attachment = \Swift_Attachment::fromPath($data->getBase64()); 
    $mail->attach($attachment); 
} 

$mail->send(); 

Почта будет отправлена ​​правильно, но вложение не является ожидаемым изображением и не доступно для просмотра.

Свойство base64:

$data->getBase64() 

, представляющий собой строку в кодировке Base64 изображения, как: данные: изображения/PNG; base64, iVBORw0KGgoAAAANSUhEUgA ...

Так что я могу сделать, чтобы получить видимое изображение как вложение? Нужен ли мне конкретный заголовок?

ответ

1

Хорошо, это работает, если тип содержимого вложения установлен :)

$attachment = \Swift_Attachment::fromPath($data->getBase64())->setContentType('image/png');