【问题标题】:Send email via AWS SES using Laravel Mail class使用 Laravel Mail 类通过 AWS SES 发送电子邮件
【发布时间】:2019-01-08 13:59:09
【问题描述】:

我正在尝试使用 AWS SES 服务和 Laravel Mail 类 (Illuminate\Support\Facades\Mail) 发送电子邮件。

我想设置为ConfigurationSetName 以便能够通过 AWS SNS 接收通知。

目前,我正在使用使用 SES 的 Laravel Mail 类,它正在工作,但不是通知。

有没有办法做到这一点?还是我必须始终使用 SesClient 来分配 ConfigurationSetName

【问题讨论】:

    标签: php laravel amazon-web-services amazon-sns amazon-ses


    【解决方案1】:

    根据AWS Documentation,可以在邮件中指定X-SES-CONFIGURATION-SET标头。

    从 Laravel 的角度来看,最简单的方法是直接从 Mailable 中指定要发送的标头:

    public function build()
    {
        $this->markdown('emails.creditcard.added');
    
        $this->withSwiftMessage(function ($message) {
            $message->getHeaders()
                    ->addTextHeader('X-SES-CONFIGURATION-SET', '####');
        });
    }
    

    您也可以使用 Mail Facade 来做到这一点,因为它有一个底层的 Swift_Message 实例。例如:

    Mail::send('emails.creditcard.added', [], function ($message) use($user) {
        $message->to($user->email)
            ->getSwiftMessage()
            ->getHeaders()
            ->addTextHeader('X-SES-CONFIGURATION-SET', '####');
    });
    

    如果您想将此标头添加到所有电子邮件中,您还可以监听Illuminate\Mail\Events\MessageSending 事件并从那里添加标头。

    public function handle(MessageSending $event)
    {
        $headers = $event->message->getHeaders();
        $headers->addTextHeader('X-SES-CONFIGURATION-SET', '####');
    }
    

    我也验证了它的工作原理。

    【讨论】:

      【解决方案2】:

      只想补充@Mozammil 的答案。

      如果你想添加多个标题:

      return $this->view('mail-template')
          ->withSwiftMessage(function ($message) {
              $headers = $message->getHeaders();
              $headers->addTextHeader('X-SES-CONFIGURATION-SET', 'my-configuration-set');
              $headers->addTextHeader('ANOTHER-HEADER', 'header-value');
          });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-11-17
        • 2020-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-13
        • 1970-01-01
        • 2011-08-07
        相关资源
        最近更新 更多