How to send image attachment with email template in Magento 2.4

Magento 2.4 Send Email with image attachment in the email template file.

This solution should work 2.4.* and a higher version.

For Attach an image in the email template, you need to override TransportBuilder Class from Magento\Framework\Mail\Template\TransportBuilder

For Send Custom Email with simple raw data refer link,  Send Mail from Custom module Magento 2

To Override the TransportBuilder class in Magento 2, you need to create a di.xml file. With this XML file, you can write syntax to override the Model class.

2 Replies to “How to send image attachment with email template in Magento 2.4”

  1. Hello,

    In Magento 2.3.2, This code is not working. Follwoing error is occured

    Fatal error: Uncaught Error: Call to undefined method MagentoFrameworkMailMessageInterceptor::createAttachment() in /opt/lampp/htdocs/project/app/code/Custom/PersonalDataAccess/Model/Mail/Template/TransportBuilder.php:13 Stack trace: #0 /opt/lampp/htdocs/project/generated/code/Custom/PersonalDataAccess/Model/Mail/Template/TransportBuilder/Interceptor.php(24): CustomPersonalDataAccessModelMailTemplateTransportBuilder->addAttachment(‘xFFxD8xFFxE0x00x10JFIFx00x01x01x01x00…’, ‘image/jpeg’, ‘attachment’, ‘base64’, ‘preview_image_5…’) #1 /opt/lampp/htdocs/project/app/code/Custom/PersonalDataAccess/Helper/Email.php(81): CustomPersonalDataAccessModelMailTemplateTransportBuilderInterceptor->addAttachment(‘xFFxD8xFFxE0x00x10JFIFx00x01x01x01x00…’, ‘image/jpeg’, ‘attachment’, ‘base64’, ‘preview_image_5…’) #2 /opt/lampp/htdocs/project/app/code/Custom/PersonalDataAccess/Helper/Email.php(98): CustomPersonalDataAccessHelperEmail->generateTempl in /opt/lampp/htdocs/project/app/code/Custom/PersonalDataAccess/Model/Mail/Template/TransportBuilder.php on line 13

Comments are closed.