Magento2- Enviar emails transacionais personalizados

8

Como feito no Magento 1.xx, como os emails transacionais personalizados podem ser enviados.

Adicional

  • Adicionar email no cco

  • Enviar anexo junto do email

huzefam
fonte
Eu sugeriria dar uma olhada no módulo de contato.
MagePsycho
Sim eu estudei isso e respondeu-a abaixo, para fins de partilha
huzefam

Respostas:

8

okie um pouco de depuração ajuda,

Enviando um email transacional no 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
fonte
como adicionar assunto no modelo de e-mail
MagikVishal
@MagikVishal Sua resposta está aqui magento.stackexchange.com/questions/124446/… <!--@subject Promopoup@-->
Ankit Shah
Não funciona mais no Magento 2.1.2 #
Fred Orosko Dias
@FredOroskoDias sure..will verificar e adicionar aBlock para 2.1.x como well..thanks
huzefam
Como adicionamos vários Cco?
Dhaval Solanki
0

Magento 2 Usa a classe \ Magento \ Framework \ Mail \ Template \ TransportBuilder para enviar email personalizado.

Você precisa criar um módulo simples e configurar o arquivo email_tempaltes.xml para definir seus modelos de correio de transação.

Você pode enviar emails da área Adminhtml ou Escopo do front-end.

Compartilhei um link para o guia passo a passo para enviar um e-mail personalizado do Magento 2 usando um módulo.

Enviar correio personalizado do módulo Magento 2

Rakesh Jesadiya
fonte
0

está funcionando para mim

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

mais informações

como enviar email personalizado sem modelo no magento2?

Sagar Dobariya
fonte