我使用Laravel 5.3和SES驱动程序发送电子邮件。 我已经设置了我的数据库和路由,这样,每当我发送一封返回为退回的电子邮件时,我都会收到通知并将此电子邮件添加到"无效电子邮件的表格中#34;。
现在我需要设置我的应用程序,这样如果电子邮件不在此退回表中,它只会发送一封电子邮件。这是对此应用发送的每封电子邮件的检查,没有例外。
是否有一种简单的方法可以对电子邮件驱动程序进行检查,或者我是否需要更改所有对Mail外观的调用并在发送电子邮件之前进行检查?
答案 0 :(得分:2)
我建议您创建自己的Mailable
类,该类继承自\Illuminate\Mail\Mailable
。
有一种名为buildRecipients()
的方法,如下所示:
/**
* Add all of the recipients to the message.
*
* @param \Illuminate\Mail\Message $message
* @return $this
*/
protected function buildRecipients($message)
{
foreach (['to', 'cc', 'bcc', 'replyTo'] as $type) {
foreach ($this->{$type} as $recipient) {
$message->{$type}($recipient['address'], $recipient['name']);
}
}
return $this;
}
你可以挂钩(覆盖)这个并添加一些逻辑,只有当他不在"阻止"列表。