この質問は Amazon AWS フォーラムに投稿しましたが、ここでより迅速で適切な回答が得られるかもしれないと考えました。2回見たらごめんなさい。
私の会社では、Amazon AWS SMTP サーバーを使用して、Java ベースの Web インターフェイス経由で E メールを送信しています。これはアプリケーションのほんの一部であり、ユーザーが他のユーザーをアプリケーションに招待できるようにすることを目的としています。
ごくまれに、特定の電子メール アドレスに招待状が届かないことがわかりました。当初は、メール アドレスのハイフンに関連していると考えていましたが、必ずしもそうではないと判断しました。しばらくの間、自分のメール ドメインを使用してこの問題のトラブルシューティングを行ってきましたが、次の 2 つのメール アドレスは、AWS SMTP サーバー (email-smtp.us-east-1.amazonaws.com) を使用して送信されたメールを受信しないことがわかりました。しかし、送信プロセス中にエラーは報告されていません。メールが届かないだけです。2 番目のリストは、当社のシステムを使用して送信された招待状を常に受信する同様の電子メール アドレスを示しています。最初のリストのアドレスはメールを受信しないことに注意してください。デプロイされたすべてのインスタンスから何度も何度も試しました.
電子メールを受信しないアドレス:
- jeremygoodell@jeremygoodell.com
- jeremy-goodell@jeremygoodell.com
メールを受信するアドレス:
- test@jeremygoodell.com
- jeremy-goodell@pinkymcberry.com
- jeremy-goodell@hotmail.com
- jeremygoodelk@jeremygoodell.com
この問題が発生する電子メール アドレスはほとんどありません。問題を示している自分のドメインで 2 つを見つけることができたのは、やや幸運でした。もちろん、これがスパム フィルタリングとは何の関係もないことは確認済みです。
アプリケーションは、play フレームワークを使用して Java で記述されています。Play は内部で Apache Commons Email ライブラリを使用します。詳細については、http: //www.playframework.com/documentation/1.1/emails を参照してください。
トラブルシューティングの作業中に行った手順の一部を次に示します。
1) 別の SMTP サーバーで試してください(個人の ISP SMTP -- smtp.gvtc.com を使用) --この SMTP サーバーを使用すると、すべてのアドレスが電子メールを受信します。これにより、AWS SMTP サーバーに固有の問題として切り分けられるようです。
2) 自分の AWS アカウントをセットアップし、このアカウントの SMTP 設定を使用します (問題のアドレスを確認した後)。自分の AWS SMTP アカウント設定を使用すると、まったく同じ問題が発生します。これは、問題が当社の AWS アカウントに固有のものではないことを示しているようです。
3) 再生メールのデバッグ設定をオンにします (構成ファイルで mail.debug=true)。システムによって送信された各電子メールについて、コンソールに大量の情報が表示されますが、適切なアドレスに送信された電子メールと不適切なアドレスに送信された電子メールにまったく違いはありません。エラーの表示は一切ありません。
これは、届かなかった電子メールの 1 つのログの内容です。これは、私が自分用にセットアップした AWS サーバーを使用していることに注意してください。送信元のメールアドレスが違うだけで、自社のAWS SMTPサーバーを使っている場合と全く同じように見えます。実際の電子メールの内容は HTML であり、機密情報であり、問題とは関係がないため、削除しました。
May 15, 2013 8:44:47 AM play.Logger info
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems,
Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "email-smtp.us-east-1.amazonaws.com", port 465, isSSL false
220 email-smtp.amazonaws.com ESMTP SimpleEmailService-376766033
DEBUG SMTP: connected to host "email-smtp.us-east-1.amazonaws.com", port: 465
EHLO 0.1.0.5
250-email-smtp.amazonaws.com
250-8BITMIME
250-SIZE 10485760
250-AUTH PLAIN LOGIN
250 Ok
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "SIZE", arg "10485760"
DEBUG SMTP: Found extension "AUTH", arg "PLAIN LOGIN"
DEBUG SMTP: Found extension "Ok", arg ""
DEBUG SMTP: Attempt to authenticate
DEBUG SMTP: check mechanisms: LOGIN PLAIN DIGEST-MD5 NTLM
AUTH LOGIN
334 VXNlcm5hbWU6
QUtJQUk3WDNURUI0NEVKNlRSU1E=
334 UGFzc3dvcmQ6
QXJwZjl4eU1FTVc1WFNFR3ZxVXVPODNhRjFkcG8xMFpSeURXY0ZsNGVHQXM=
235 Authentication successful.
DEBUG SMTP: use8bit false
MAIL FROM:<jeremy-goodell@hotmail.com>
250 Ok
RCPT TO:<jeremygoodell@jeremygoodell.com>
250 Ok
DEBUG SMTP: Verified Addresses
DEBUG SMTP: "jeremygoodell@jeremygoodell.com" <jeremygoodell@jeremygoodell.com>
DATA
354 End data with <CR><LF>.<CR><LF>
Date: Wed, 15 May 2013 08:44:47 -0500 (CDT)
From: "jeremy-goodell@hotmail.com" <jeremy-goodell@hotmail.com>
Reply-To: "jeremy-goodell@hotmail.com" <jeremy-goodell@hotmail.com>
To: "jeremygoodell@jeremygoodell.com" <jeremygoodell@jeremygoodell.com>
Message-ID: <2322287.7.1368625487826.JavaMail.UGOODJ3@SAOTXWL-9X913M1>
Subject: Please join the ACT Aspire Hari AV test delivery portal
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_6_16196755.1368625487826"
------=_Part_6_16196755.1368625487826
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit
>>>> HTML EMAIL BODY REMOVED <<<<
------=_Part_6_16196755.1368625487826--
.
250 Ok 0000013ea86fb2de-0bd70205-8e9a-4042-972f-ad94b28c3101-000000
QUIT
221 Bye