Magento2-カスタムトランザクションメールを送信します


8

Magento 1.xxと同様に、カスタムトランザクションメールを送信するにはどうすればよいですか。

追加

  • BCCにメールを追加

  • メールに沿って添付ファイルを送信する


Contact Moduleをご覧になることをお勧めします。
MagePsycho 2015年

はい、私はそれを研究し、共有目的で以下に答えました
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 2016年

@MagikVishalあなたの答えはここにあるmagento.stackexchange.com/questions/124446/... <!--@subject Promopoup@-->
Ankitシャー

Magento 2.1.2では動作しなくなりました
Fred Orosko Dias

@FredOroskoDias確かに2.1.xのablockもチェックして追加します..ありがとう
huzefam

複数のBCCを追加するにはどうすればよいですか?
Dhaval Solanki 2017

0

Magento 2は\ Magento \ Framework \ Mail \ Template \ TransportBuilderクラスを使用してカスタムメールを送信します。

シンプルなモジュールを作成し、トランザクションメールテンプレートを定義するためのemail_tempaltes.xmlファイルを設定する必要があります。

Adminhtmlまたはフロントエンドスコープ領域からメールを送信できます。

モジュールを使用して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でテンプレートなしのカスタムメールを送信する方法

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.