Magento2- Invia e-mail transazionali personalizzate


8

Come fatto in Magento 1.xx, come si possono inviare e-mail transazionali personalizzate.

addizionale

  • Aggiungi email in ccn

  • Invia allegato tramite e-mail


Suggerirei di dare un'occhiata al modulo di contatto.
MagoPsycho,

Sì, l'ho studiato e ho risposto di seguito, a fini di condivisione
huzefam,

Risposte:


8

okie un po 'di debug aiuta,

Invio di un'email transazionale in 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();
  }

}

come aggiungere l'oggetto nel modello di email
MagikVishal

@MagikVishal La tua risposta è qui magento.stackexchange.com/questions/124446/… <!--@subject Promopoup@-->
Ankit Shah,

Non funziona più in Magento 2.1.2
Fred Orosko Dias il

@FredOroskoDias certo..controllerà e aggiungerà un blocco anche per 2.1.x..grazie
huzefam

Come possiamo aggiungere più CCN?
Dhaval Solanki,

0

Magento 2 utilizza la classe \ Magento \ Framework \ Mail \ Template \ TransportBuilder per inviare e-mail personalizzate.

È necessario creare un modulo semplice e impostare il file email_tempaltes.xml per definire i modelli di posta delle transazioni.

È possibile inviare posta dall'area Adminhtml o Frontend Scope.

Ho condiviso un link per la guida passo passo per inviare una mail personalizzata da Magento 2 utilizzando un modulo.

Invia posta personalizzata dal modulo Magento 2


0

sta funzionando per me

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

Ulteriori informazioni

come inviare e-mail personalizzate senza template in magento2?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.