如何使用TYPO3发送base64编码图像

时间:2015-09-15 11:33:11

标签: base64 email-attachments typo3-6.2.x

我想通过TYPO3 Swift Mailer发送base64编码图像,但它没有按预期工作:

$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 个答案:

答案 0 :(得分:1)

好的,如果设置了附件的内容类型,它会起作用:)

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