Comme dans Magento 1.xx, comment envoyer des e-mails transactionnels personnalisés.
Additionnel
Ajouter un e-mail en Cci
Envoyer une pièce jointe par e-mail
Comme dans Magento 1.xx, comment envoyer des e-mails transactionnels personnalisés.
Additionnel
Ajouter un e-mail en Cci
Envoyer une pièce jointe par e-mail
Réponses:
okie débogage aide,
Envoi d'un e-mail transactionnel dans 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 Utilise la classe \ Magento \ Framework \ Mail \ Template \ TransportBuilder pour envoyer des e-mails personnalisés.
Vous devez créer un module simple et définir le fichier email_tempaltes.xml pour définir vos modèles de courrier de transaction.
Vous pouvez envoyer du courrier à partir de la zone Adminhtml ou de l'étendue frontend.
J'ai partagé un lien pour un guide étape par étape pour envoyer un courrier personnalisé depuis Magento 2 à l'aide d'un module.
Envoyer un courrier personnalisé à partir du module Magento 2
ça marche pour moi
$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();
Plus d'informations
comment envoyer un email personnalisé sans modèle dans magento2?