Magento 2.3: Add Attachment with email (Magento 2.3 use zendframework 2)

Multi tool use
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
I am working on a module in which I need to attach an attachment with sales email. However, Magento 2.3 use zendframework2 so email attachment is not the same as zendframework1 (in Magento 2.2).
Can anyone help me to achieve the same task? How to implement attachment functions in Magento 2.3
I have searched in google and read several questions but I didn't find the solution.
email sales-order pdf magento2.3 attachment
add a comment |
I am working on a module in which I need to attach an attachment with sales email. However, Magento 2.3 use zendframework2 so email attachment is not the same as zendframework1 (in Magento 2.2).
Can anyone help me to achieve the same task? How to implement attachment functions in Magento 2.3
I have searched in google and read several questions but I didn't find the solution.
email sales-order pdf magento2.3 attachment
Possible duplicate of Magento 2: send email with Attachment
– Mohit Kumar Arora
Jan 8 at 16:25
No..Magento 2.3 email attachment are different from lower versions @MohitKumarArora
– Sameer Bhayani
Jan 9 at 5:01
add a comment |
I am working on a module in which I need to attach an attachment with sales email. However, Magento 2.3 use zendframework2 so email attachment is not the same as zendframework1 (in Magento 2.2).
Can anyone help me to achieve the same task? How to implement attachment functions in Magento 2.3
I have searched in google and read several questions but I didn't find the solution.
email sales-order pdf magento2.3 attachment
I am working on a module in which I need to attach an attachment with sales email. However, Magento 2.3 use zendframework2 so email attachment is not the same as zendframework1 (in Magento 2.2).
Can anyone help me to achieve the same task? How to implement attachment functions in Magento 2.3
I have searched in google and read several questions but I didn't find the solution.
email sales-order pdf magento2.3 attachment
email sales-order pdf magento2.3 attachment
edited Jan 8 at 13:55
Sameer Bhayani
asked Jan 8 at 11:44


Sameer BhayaniSameer Bhayani
755419
755419
Possible duplicate of Magento 2: send email with Attachment
– Mohit Kumar Arora
Jan 8 at 16:25
No..Magento 2.3 email attachment are different from lower versions @MohitKumarArora
– Sameer Bhayani
Jan 9 at 5:01
add a comment |
Possible duplicate of Magento 2: send email with Attachment
– Mohit Kumar Arora
Jan 8 at 16:25
No..Magento 2.3 email attachment are different from lower versions @MohitKumarArora
– Sameer Bhayani
Jan 9 at 5:01
Possible duplicate of Magento 2: send email with Attachment
– Mohit Kumar Arora
Jan 8 at 16:25
Possible duplicate of Magento 2: send email with Attachment
– Mohit Kumar Arora
Jan 8 at 16:25
No..Magento 2.3 email attachment are different from lower versions @MohitKumarArora
– Sameer Bhayani
Jan 9 at 5:01
No..Magento 2.3 email attachment are different from lower versions @MohitKumarArora
– Sameer Bhayani
Jan 9 at 5:01
add a comment |
2 Answers
2
active
oldest
votes
I had the same issue.
To solve this i created a helper.
use MagentoFrameworkObjectManagerInterface;
use MagentoFrameworkMailMessageInterface;
use MagentoFrameworkMailTemplateFactoryInterface;
use MagentoFrameworkMailTemplateSenderResolverInterface;
use MagentoFrameworkMailTransportInterfaceFactory;
use MagentoFrameworkMailTemplateTransportBuilder;
class UploadTransportBuilder extends TransportBuilder {
public function __construct(FactoryInterface $templateFactory,
MessageInterface $message,
SenderResolverInterface $senderResolver,
ObjectManagerInterface $objectManager,
TransportInterfaceFactory $mailTransportFactory) {
parent::__construct($templateFactory,
$message,
$senderResolver,
$objectManager,
$mailTransportFactory);
}
public function attachFile(
$body,
$filename = null,
$mimeType = Zend_Mime::TYPE_OCTETSTREAM,
$disposition = Zend_Mime::DISPOSITION_ATTACHMENT,
$encoding = Zend_Mime::ENCODING_BASE64
)
{
$this->message->createAttachment($body, $mimeType, $disposition, $encoding, $filename);
return $this;
}
}
Then I loaded this on my controller.
use BVZWishlistHelperUploadTransportBuilder;
UploadTransportBuilder $transportBuilder
$this->_transportBuilder = $transportBuilder
$transport = $this->_transportBuilder->setTemplateIdentifier('bvz_customer_wishlist')
->setTemplateOptions(['area' => 'frontend', 'store' => $store])
->setTemplateVars(['data' => $postObject])
->setFrom('support')
->addTo($formEmail, $customerName)
->attachFile($pdf,'Seleção de Produtos.pdf')
->getTransport();
$this->messageManager->addSuccess(__('Um e-mail foi enviado com sua lista de desejo.'));
$transport->sendMessage();
The code method for attach a file is attachFile();
Thank you @Gabriel Fernandes I will try this. Is it working in magento 2.3 ?
– Sameer Bhayani
Jan 8 at 13:39
i'm using 2.2.3, maybe works on 2.3
– Gabriel Fernandes
Jan 8 at 13:42
Thanks @Gabriel. Magento 2.3 using zendframework2 & zendframework had deleted createAttachment() function so it is not working in 2.3 however older magento 2 version use zendframework1 so It is working in those versions error: prnt.sc/m4gr1e
– Sameer Bhayani
Jan 8 at 13:54
add a comment |
Send Email with Attachment in Magento 2.3
https://extait.com/blog/how-to-send-email-with-attachment-in-magento-2-3/
New contributor
Darshan Panchal is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "479"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f257117%2fmagento-2-3-add-attachment-with-email-magento-2-3-use-zendframework-2%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
I had the same issue.
To solve this i created a helper.
use MagentoFrameworkObjectManagerInterface;
use MagentoFrameworkMailMessageInterface;
use MagentoFrameworkMailTemplateFactoryInterface;
use MagentoFrameworkMailTemplateSenderResolverInterface;
use MagentoFrameworkMailTransportInterfaceFactory;
use MagentoFrameworkMailTemplateTransportBuilder;
class UploadTransportBuilder extends TransportBuilder {
public function __construct(FactoryInterface $templateFactory,
MessageInterface $message,
SenderResolverInterface $senderResolver,
ObjectManagerInterface $objectManager,
TransportInterfaceFactory $mailTransportFactory) {
parent::__construct($templateFactory,
$message,
$senderResolver,
$objectManager,
$mailTransportFactory);
}
public function attachFile(
$body,
$filename = null,
$mimeType = Zend_Mime::TYPE_OCTETSTREAM,
$disposition = Zend_Mime::DISPOSITION_ATTACHMENT,
$encoding = Zend_Mime::ENCODING_BASE64
)
{
$this->message->createAttachment($body, $mimeType, $disposition, $encoding, $filename);
return $this;
}
}
Then I loaded this on my controller.
use BVZWishlistHelperUploadTransportBuilder;
UploadTransportBuilder $transportBuilder
$this->_transportBuilder = $transportBuilder
$transport = $this->_transportBuilder->setTemplateIdentifier('bvz_customer_wishlist')
->setTemplateOptions(['area' => 'frontend', 'store' => $store])
->setTemplateVars(['data' => $postObject])
->setFrom('support')
->addTo($formEmail, $customerName)
->attachFile($pdf,'Seleção de Produtos.pdf')
->getTransport();
$this->messageManager->addSuccess(__('Um e-mail foi enviado com sua lista de desejo.'));
$transport->sendMessage();
The code method for attach a file is attachFile();
Thank you @Gabriel Fernandes I will try this. Is it working in magento 2.3 ?
– Sameer Bhayani
Jan 8 at 13:39
i'm using 2.2.3, maybe works on 2.3
– Gabriel Fernandes
Jan 8 at 13:42
Thanks @Gabriel. Magento 2.3 using zendframework2 & zendframework had deleted createAttachment() function so it is not working in 2.3 however older magento 2 version use zendframework1 so It is working in those versions error: prnt.sc/m4gr1e
– Sameer Bhayani
Jan 8 at 13:54
add a comment |
I had the same issue.
To solve this i created a helper.
use MagentoFrameworkObjectManagerInterface;
use MagentoFrameworkMailMessageInterface;
use MagentoFrameworkMailTemplateFactoryInterface;
use MagentoFrameworkMailTemplateSenderResolverInterface;
use MagentoFrameworkMailTransportInterfaceFactory;
use MagentoFrameworkMailTemplateTransportBuilder;
class UploadTransportBuilder extends TransportBuilder {
public function __construct(FactoryInterface $templateFactory,
MessageInterface $message,
SenderResolverInterface $senderResolver,
ObjectManagerInterface $objectManager,
TransportInterfaceFactory $mailTransportFactory) {
parent::__construct($templateFactory,
$message,
$senderResolver,
$objectManager,
$mailTransportFactory);
}
public function attachFile(
$body,
$filename = null,
$mimeType = Zend_Mime::TYPE_OCTETSTREAM,
$disposition = Zend_Mime::DISPOSITION_ATTACHMENT,
$encoding = Zend_Mime::ENCODING_BASE64
)
{
$this->message->createAttachment($body, $mimeType, $disposition, $encoding, $filename);
return $this;
}
}
Then I loaded this on my controller.
use BVZWishlistHelperUploadTransportBuilder;
UploadTransportBuilder $transportBuilder
$this->_transportBuilder = $transportBuilder
$transport = $this->_transportBuilder->setTemplateIdentifier('bvz_customer_wishlist')
->setTemplateOptions(['area' => 'frontend', 'store' => $store])
->setTemplateVars(['data' => $postObject])
->setFrom('support')
->addTo($formEmail, $customerName)
->attachFile($pdf,'Seleção de Produtos.pdf')
->getTransport();
$this->messageManager->addSuccess(__('Um e-mail foi enviado com sua lista de desejo.'));
$transport->sendMessage();
The code method for attach a file is attachFile();
Thank you @Gabriel Fernandes I will try this. Is it working in magento 2.3 ?
– Sameer Bhayani
Jan 8 at 13:39
i'm using 2.2.3, maybe works on 2.3
– Gabriel Fernandes
Jan 8 at 13:42
Thanks @Gabriel. Magento 2.3 using zendframework2 & zendframework had deleted createAttachment() function so it is not working in 2.3 however older magento 2 version use zendframework1 so It is working in those versions error: prnt.sc/m4gr1e
– Sameer Bhayani
Jan 8 at 13:54
add a comment |
I had the same issue.
To solve this i created a helper.
use MagentoFrameworkObjectManagerInterface;
use MagentoFrameworkMailMessageInterface;
use MagentoFrameworkMailTemplateFactoryInterface;
use MagentoFrameworkMailTemplateSenderResolverInterface;
use MagentoFrameworkMailTransportInterfaceFactory;
use MagentoFrameworkMailTemplateTransportBuilder;
class UploadTransportBuilder extends TransportBuilder {
public function __construct(FactoryInterface $templateFactory,
MessageInterface $message,
SenderResolverInterface $senderResolver,
ObjectManagerInterface $objectManager,
TransportInterfaceFactory $mailTransportFactory) {
parent::__construct($templateFactory,
$message,
$senderResolver,
$objectManager,
$mailTransportFactory);
}
public function attachFile(
$body,
$filename = null,
$mimeType = Zend_Mime::TYPE_OCTETSTREAM,
$disposition = Zend_Mime::DISPOSITION_ATTACHMENT,
$encoding = Zend_Mime::ENCODING_BASE64
)
{
$this->message->createAttachment($body, $mimeType, $disposition, $encoding, $filename);
return $this;
}
}
Then I loaded this on my controller.
use BVZWishlistHelperUploadTransportBuilder;
UploadTransportBuilder $transportBuilder
$this->_transportBuilder = $transportBuilder
$transport = $this->_transportBuilder->setTemplateIdentifier('bvz_customer_wishlist')
->setTemplateOptions(['area' => 'frontend', 'store' => $store])
->setTemplateVars(['data' => $postObject])
->setFrom('support')
->addTo($formEmail, $customerName)
->attachFile($pdf,'Seleção de Produtos.pdf')
->getTransport();
$this->messageManager->addSuccess(__('Um e-mail foi enviado com sua lista de desejo.'));
$transport->sendMessage();
The code method for attach a file is attachFile();
I had the same issue.
To solve this i created a helper.
use MagentoFrameworkObjectManagerInterface;
use MagentoFrameworkMailMessageInterface;
use MagentoFrameworkMailTemplateFactoryInterface;
use MagentoFrameworkMailTemplateSenderResolverInterface;
use MagentoFrameworkMailTransportInterfaceFactory;
use MagentoFrameworkMailTemplateTransportBuilder;
class UploadTransportBuilder extends TransportBuilder {
public function __construct(FactoryInterface $templateFactory,
MessageInterface $message,
SenderResolverInterface $senderResolver,
ObjectManagerInterface $objectManager,
TransportInterfaceFactory $mailTransportFactory) {
parent::__construct($templateFactory,
$message,
$senderResolver,
$objectManager,
$mailTransportFactory);
}
public function attachFile(
$body,
$filename = null,
$mimeType = Zend_Mime::TYPE_OCTETSTREAM,
$disposition = Zend_Mime::DISPOSITION_ATTACHMENT,
$encoding = Zend_Mime::ENCODING_BASE64
)
{
$this->message->createAttachment($body, $mimeType, $disposition, $encoding, $filename);
return $this;
}
}
Then I loaded this on my controller.
use BVZWishlistHelperUploadTransportBuilder;
UploadTransportBuilder $transportBuilder
$this->_transportBuilder = $transportBuilder
$transport = $this->_transportBuilder->setTemplateIdentifier('bvz_customer_wishlist')
->setTemplateOptions(['area' => 'frontend', 'store' => $store])
->setTemplateVars(['data' => $postObject])
->setFrom('support')
->addTo($formEmail, $customerName)
->attachFile($pdf,'Seleção de Produtos.pdf')
->getTransport();
$this->messageManager->addSuccess(__('Um e-mail foi enviado com sua lista de desejo.'));
$transport->sendMessage();
The code method for attach a file is attachFile();
answered Jan 8 at 13:32


Gabriel FernandesGabriel Fernandes
576
576
Thank you @Gabriel Fernandes I will try this. Is it working in magento 2.3 ?
– Sameer Bhayani
Jan 8 at 13:39
i'm using 2.2.3, maybe works on 2.3
– Gabriel Fernandes
Jan 8 at 13:42
Thanks @Gabriel. Magento 2.3 using zendframework2 & zendframework had deleted createAttachment() function so it is not working in 2.3 however older magento 2 version use zendframework1 so It is working in those versions error: prnt.sc/m4gr1e
– Sameer Bhayani
Jan 8 at 13:54
add a comment |
Thank you @Gabriel Fernandes I will try this. Is it working in magento 2.3 ?
– Sameer Bhayani
Jan 8 at 13:39
i'm using 2.2.3, maybe works on 2.3
– Gabriel Fernandes
Jan 8 at 13:42
Thanks @Gabriel. Magento 2.3 using zendframework2 & zendframework had deleted createAttachment() function so it is not working in 2.3 however older magento 2 version use zendframework1 so It is working in those versions error: prnt.sc/m4gr1e
– Sameer Bhayani
Jan 8 at 13:54
Thank you @Gabriel Fernandes I will try this. Is it working in magento 2.3 ?
– Sameer Bhayani
Jan 8 at 13:39
Thank you @Gabriel Fernandes I will try this. Is it working in magento 2.3 ?
– Sameer Bhayani
Jan 8 at 13:39
i'm using 2.2.3, maybe works on 2.3
– Gabriel Fernandes
Jan 8 at 13:42
i'm using 2.2.3, maybe works on 2.3
– Gabriel Fernandes
Jan 8 at 13:42
Thanks @Gabriel. Magento 2.3 using zendframework2 & zendframework had deleted createAttachment() function so it is not working in 2.3 however older magento 2 version use zendframework1 so It is working in those versions error: prnt.sc/m4gr1e
– Sameer Bhayani
Jan 8 at 13:54
Thanks @Gabriel. Magento 2.3 using zendframework2 & zendframework had deleted createAttachment() function so it is not working in 2.3 however older magento 2 version use zendframework1 so It is working in those versions error: prnt.sc/m4gr1e
– Sameer Bhayani
Jan 8 at 13:54
add a comment |
Send Email with Attachment in Magento 2.3
https://extait.com/blog/how-to-send-email-with-attachment-in-magento-2-3/
New contributor
Darshan Panchal is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
Send Email with Attachment in Magento 2.3
https://extait.com/blog/how-to-send-email-with-attachment-in-magento-2-3/
New contributor
Darshan Panchal is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
Send Email with Attachment in Magento 2.3
https://extait.com/blog/how-to-send-email-with-attachment-in-magento-2-3/
New contributor
Darshan Panchal is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Send Email with Attachment in Magento 2.3
https://extait.com/blog/how-to-send-email-with-attachment-in-magento-2-3/
New contributor
Darshan Panchal is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Darshan Panchal is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
answered 7 mins ago


Darshan PanchalDarshan Panchal
1
1
New contributor
Darshan Panchal is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
Darshan Panchal is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
Darshan Panchal is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
add a comment |
Thanks for contributing an answer to Magento Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f257117%2fmagento-2-3-add-attachment-with-email-magento-2-3-use-zendframework-2%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
pNGS,iGasgWltR Yra4g1E 2k,JRezGS0A 2prS D0q4NpaNr
Possible duplicate of Magento 2: send email with Attachment
– Mohit Kumar Arora
Jan 8 at 16:25
No..Magento 2.3 email attachment are different from lower versions @MohitKumarArora
– Sameer Bhayani
Jan 9 at 5:01