weprovide / magento2-module-mailattachment
Extends TransportBuilder with attachment functionality
Installs: 4 277
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 6
Forks: 6
Open Issues: 0
Type:magento2-module
Requires
- php: ~7.1.3|~7.2.0|~7.3.0
- magento/framework: ~102.0.3
README
Extends TransportBuilder with attachment functionality
Installation
composer require weprovide/magento2-module-mailattachment
bin/magento setup:upgrade
Usage example
<?php namespace YourNameSpace\YourModule\Controller\Email; use Magento\Framework\App\Action\Action; use Magento\Framework\App\Action\Context; use Magento\Framework\App\Area; use Magento\Framework\Controller\ResultFactory; use Magento\Store\Model\Store; use WeProvide\MailAttachment\Mail\Template\TransportBuilder; use Zend_Mime; class Index extends Action { protected $transportBuilder; public function __construct( Context $context, TransportBuilder $transportBuilder ) { $this->transportBuilder = $transportBuilder; parent::__construct($context); } /** * Execute view action * @return \Magento\Framework\Controller\ResultInterface */ public function execute() { // Any buffer $content = ''; $transport = $this->transportBuilder->setTemplateIdentifier('example_identifier') ->setTemplateOptions([ 'area' => Area::AREA_FRONTEND, 'store' => Store::DEFAULT_STORE_ID, ]) ->setFrom([ 'name' => 'Example name', 'email' => 'info@example.com', ]) ->addTo('example@example.com') ->addAttachment($content, 'document.pdf', 'application/pdf'); $transport = $transport->getTransport(); $transport->sendMessage(); return $this->resultFactory->create(ResultFactory::TYPE_PAGE); } }
Api
public function addAttachment( $content, $fileName = '', $fileType = '' )
For reference also check the code