根据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', '####');
}
我也验证了它的工作原理。