Câu trả lời:
okie bit gỡ lỗi giúp,
Gửi email giao dịch trong Magento2
class Dummy
{
/**
* @var \Magento\Framework\Mail\Template\TransportBuilder
*/
private $_transportBuilder;
public function __construct( \Magento\Framework\Mail\Template\TransportBuilder $transportBuilder){
$this->_transportBuilder = $transportBuilder;
}
public function sendEmail($templateId =1, $storeId =1,$templateParams)
{
$transport = $this->_transportBuilder->setTemplateIdentifier($templateId)
->setTemplateOptions(['area' => Magento\Framework\App\Area::AREA_FRONTEND, 'store' => $storeId])
->setTemplateVars($templateParams)
->setFrom('someemail@email.com')
->addTo('toemail@email.com')
->setReplyTo('replyto@email.com')
->addBcc('bcc@email.com')
->getTransport();
$transport->sendMessage();
}
}
<!--@subject Promopoup@-->
Magento 2 Sử dụng lớp \ Magento \ Framework \ Mail \ Template \ TransportBuilder để gửi email tùy chỉnh.
Bạn cần tạo một mô-đun đơn giản và đặt tệp email_tempaltes.xml để xác định các mẫu thư giao dịch của mình.
Bạn có thể gửi thư từ khu vực adminhtml hoặc Frontend Scope.
Tôi đã chia sẻ một liên kết cho hướng dẫn từng bước để gửi thư tùy chỉnh từ Magento 2 bằng mô-đun.
nó làm việc cho tôi
$emailTemplateVariables = array();
$emailTempVariables['myvar'] = $myvar;
$senderName = 'test';
$senderEmail = 'sender@test.com';
$postObject = new \Magento\Framework\DataObject();
$postObject->setData($emailTempVariables);
$sender = [
'name' => $senderName,
'email' => $senderEmail,
];
$transport = $this->_transportBuilder->setTemplateIdentifier('myemail_email_template')
->setTemplateOptions(['area' => \Magento\Framework\App\Area::AREA_FRONTEND, 'store' => \Magento\Store\Model\Store::DEFAULT_STORE_ID])
->setTemplateVars(['data' => $postObject])
->setFrom($sender)
->addTo($email)
->setReplyTo($senderEmail)
->getTransport();
$transport->sendMessage();
thêm thông tin
Làm thế nào để gửi email tùy chỉnh không có mẫu trong magento2?