Magento2- Отправка пользовательских транзакционных электронных писем


Как это сделано в Magento 1.x.x, как можно отправлять пользовательские транзакционные электронные письма.

Дополнительные

  • Добавить электронную почту в bcc

  • Отправить вложение по электронной почте

Author: huzefam, 2015-10-28

3 answers

О'кей, немного отладки помогает,

Отправка транзакционного электронного письма в 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();
  }

}
 9
Author: huzefam, 2015-10-28 10:40:11

Magento 2 Использует \Magento\Framework\Почта\Шаблон\Transportbuilder класс для отправки пользовательских сообщений электронной почты.

Вам нужно создать простой модуль и установить email_tempaltes.xml файл для определения шаблонов почты транзакций.

Вы можете отправлять почту из Adminhtml или области видимости интерфейса.

Я поделился ссылкой для пошагового руководства по отправке пользовательской почты из Magento 2 с помощью модуля.

Отправка пользовательской почты из модуля Magento 2

 0
Author: Rakesh Jesadiya, 2018-12-23 17:35:24

Это работает на меня

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

Дополнительная информация

Как отправить пользовательское электронное письмо без шаблона в magento2?

 0
Author: Sagar Dobariya, 2018-12-24 06:09:00