Skip to content

Instantly share code, notes, and snippets.

@mklooss
Created March 26, 2020 10:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mklooss/971765646eefd861e437eda3845b2b88 to your computer and use it in GitHub Desktop.
Save mklooss/971765646eefd861e437eda3845b2b88 to your computer and use it in GitHub Desktop.
Magento 2.3 Mail Transport add Attachments
<?php
$emailData = [ ... ];
/* @var $transportBuilder \Magento\Framework\Mail\Template\TransportBuilder */
/* @var $transport \Magento\Framework\Mail\Transport */
$transport = $transportBuilder->getTransport();
if (isset($emailData['attachments']))
{
$parts = $transport->getMessage()->getBody()->getParts();
foreach ($emailData['attachments'] as $item)
{
$attachment = new \Zend\Mime\Part($item['content']);
$attachment->type = $this->getContentTypeByName($item['name']); // define content type. eg. application/pdf
$attachment->filename = $item['name'];
$attachment->disposition = \Zend\Mime\Mime::DISPOSITION_ATTACHMENT;
$attachment->encoding = \Zend\Mime\Mime::ENCODING_BASE64;
$parts[] = $attachment;
}
$bodyPart = new \Zend\Mime\Message();
$bodyPart->setParts($parts);
$transport->getMessage()->setBody($bodyPart);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment