Magento 2.3: Add Attachment with email (Magento 2.3 use zendframework 2)
.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
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
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
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
Send Email with Attachment in Magento 2.3
https://extait.com/blog/how-to-send-email-with-attachment-in-magento-2-3/
New contributor
New contributor
answered 7 mins ago
Darshan PanchalDarshan Panchal
1
1
New contributor
New contributor
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
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