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


8

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

дополнительный

  • Добавить адрес электронной почты в СК

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


Я бы посоветовал взглянуть на контактный модуль.
MagePsycho

Да, я изучил это и ответил на него ниже, в целях обмена
huzefam

Ответы:


8

Хорошо, немного отладки помогает,

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

}

как добавить тему в шаблоне электронной почты
MagikVishal

@MagikVishal Ваш ответ здесь magento.stackexchange.com/questions/124446/… <!--@subject Promopoup@-->
Анкит Шах,


@FredOroskoDias уверен .. проверим и добавим ablock для 2.1.x также ... спасибо
huzefam

Как добавить несколько BCC?
Давал Соланки

0

Magento 2 Использует класс \ Magento \ Framework \ Mail \ Template \ TransportBuilder для отправки пользовательских писем.

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

Вы можете отправлять почту из области Adminhtml или Frontend Scope.

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

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


0

это работает для меня

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

больше информации

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.