webqam / magento2-module-emailattachment
Webqam Magento2 module EmailAttachment
Installs: 5 888
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 4
Forks: 0
Open Issues: 0
Type:magento2-module
Suggests
- magento/product-community-edition: >=2.3.6
- magento/product-enterprise-edition: >=2.3.6
This package is auto-updated.
Last update: 2025-06-22 12:10:03 UTC
README
Installation
composer require webqam/magento2-module-emailattachment bin/magento setup:upgrade
Usage
Add attachment on an email
This module add a method to Magento\Framework\Mail\Template\TransportBuilder
(using Preference).
You can use method addAttachment of TransportBuilder class.
Attachment for sales order email
use email_order_set_template_vars_before
observer
use Magento\Framework\DataObject; use Magento\Framework\Event\Observer; use Magento\Framework\Event\ObserverInterface; use Webqam\EmailAttachment\Model\Order\Email\Container\AttachmentIdentityInterface; class OrderSetTemplateVarsBefore implements ObserverInterface { /** * Execute observer * * @param Observer $observer * @return void */ public function execute( Observer $observer ) { /** @var DataObject $transportObject */ $transportObject = $observer->getDataByKey('transportObject'); $attachments = $transportObject->getDataByKey( AttachmentIdentityInterface::KEY_TEMPLATE_VARS_EMAIL_ATTACHMENTS_DATA ); $attachment = [ AttachmentIdentityInterface::KEY_ATTACHMENT_CONTENT => 'content', AttachmentIdentityInterface::KEY_ATTACHMENT_FILE_NAME => 'filename.pdf', AttachmentIdentityInterface::KEY_ATTACHMENT_FILE_TYPE => 'pdf' ]; if ($attachments && is_array($attachments)) { $attachments[] = $attachment; $transportObject->setData( AttachmentIdentityInterface::KEY_TEMPLATE_VARS_EMAIL_ATTACHMENTS_DATA, $attachments ); } else { $transportObject->setData(AttachmentIdentityInterface::KEY_TEMPLATE_VARS_EMAIL_ATTACHMENTS_DATA, [ $attachment ]); } } }