Magento2 - Envoyer des e-mails transactionnels personnalisés


8

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


Je suggère de jeter un œil au module Contact.
MagePsycho

Oui, j'ai étudié cela et y ai répondu ci-dessous, à des fins de partage
huzefam

Réponses:


8

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();
  }

}

comment ajouter un sujet dans le modèle d'e-mail
MagikVishal

@MagikVishal Votre réponse est ici magento.stackexchange.com/questions/124446/… <!--@subject Promopoup@-->
Ankit Shah

Ne fonctionne plus dans Magento 2.1.2
Fred Orosko Dias

@FredOroskoDias sûr..vérifiera et ajoutera également un bloc pour 2.1.x..merci
huzefam

Comment ajouter plusieurs BCC?
Dhaval Solanki

0

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


0

ç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?

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.