

下記サイトを参考にSESとSNSを連携させてバウンスをLaravelで受け取って処理するようにしました。

[Amazon SES と SNS を使って バウンスメールを PHPでハンドリング](http://program-
memo.com/archives/599)

送信先メールアドレスを  
[存在しないユーザー]@[存在するドメイン]で送信すると正しくバウンスをプログラム側で受け取れるのですが  
送信先を存在しないドメインで送信すると何も届きません。  
プログラム側のログを見ると、プログラム側まで来てないみたいです。

送信先を存在しないドメインで送信した場合、どうしたらバウンスを受け取れますか？

下記のSESのドキュメントを見ると、送信できない時は一定期間送信の再試行を行うとありましたが  
6時間以上前に送信しているのでまだ再試行を行ってるというのは無いですよね？

[Amazon SES での E メール送信プロセス - Amazon Simple Email
Service](https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/sending-
concepts-process.html#sending-concepts-process-after-send)


CC BY-SA 4.0
2019-12-21T16:04:21.887
61654
2019-12-28T18:31:09.047
2019-12-21T16:23:33.357
3060
37154
question
aws
AWS SESにおける存在しないドメインのバウンスの受け取り方


存在しないドメインで送信した場合はソフトバウンスが適用されるため、質問者さんの認識の通り一定期間の送信の再試行を行います。

<https://forums.aws.amazon.com/thread.jspa?threadID=110939>

> When attempting to deliver an email, Amazon SES will continue making  
>  delivery attempts until receiving a successful response, or until 12  
>  hours elapse. If the receiving ISP returns a temporary error code  
>  (e.g., a 4xx SMTP code), then SES will keep trying. There is no limit  
>  to the number of attempts; however, SES will apply exponential backoff  
>  between retries for up to 12 hours.

フォーラムの回答を見る限り１２時間が目安のようですのですでにエラーメールが返ってきているかもしれないですね。


CC BY-SA 4.0
2019-12-23T00:13:03.947
61685
2019-12-23T00:13:03.947
22665
61654
answer


ドメインが間違っている場合、アドレスが存在しないことを証明することが難しいので、一般的にSMTPでは、すぐにはエラーにならず、SMTPサーバー上の
キューに残り、再試行されます。

一定時間を過ぎると、再試行をあきらめて配送エラー通知を返します。この期間はSMTPサーバーごとに、管理者によって設定されます。

SESの場合は、840 minutes 経過すると バウンスが通知されるようです。

> "diagnosticCode": "smtp; 554 4.4.7 Message expired: unable to deliver in 840
> minutes.


CC BY-SA 4.0
2019-12-28T18:31:09.047
61862
2019-12-28T18:31:09.047
5008
61654
answer