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

huzefam
la source
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('[email protected]')
            ->addTo('[email protected]')
            ->setReplyTo('[email protected]')
            ->addBcc('[email protected]')
            ->getTransport();
        $transport->sendMessage();
  }

}
huzefam
la source
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

Rakesh Jesadiya
la source
0

ça marche pour moi

$emailTemplateVariables = array();
$emailTempVariables['myvar'] = $myvar;

$senderName = 'test';
$senderEmail = '[email protected]';
$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?

Sagar Dobariya
la source