2016-12-30 13 views
0

私はEメールを送信するためにLaravel 5.3とSESドライバを使用しています。 バウンスとして返信するメールを送信するたびに、通知を受け取り、このメールを「無効なメール」の表に追加するように、データベースと経路を設定しました。Laravel:電子メールがバウンスリストにない場合にのみメールを送信

私はこのメールがこのバウンステーブルにない場合にのみ電子メールを送信するようにアプリケーションをセットアップする必要があります。これは、例外なく、このアプリによって送信されたすべての単一の電子メールのために行われるチェックです。

電子メールドライバでこのチェックを行う簡単な方法はありますか、またはメールファサードへのすべての呼び出しを変更して電子メールを送信する前にこれをチェックする必要がありますか?

答えて

1

\Illuminate\Mail\Mailableを継承する独自のMailableクラスを作成することをおすすめします。

/** 
* 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; 
} 

あなたは彼がいない場合は「ブロック」に受信者を追加し、この(上書き)にフックだけにいくつかのロジックを追加することができます。

方法があり、このようになりますbuildRecipients()と呼ばれるがありますリスト。

関連する問題