[解決済み] アドレス無効例外の解決方法
質問
を使用してメールを送信しようとしました。
javax.mail
. メール送信中に以下のような例外が発生しました。
**sendMail - Message Sending Failed: Invalid Addresses;
nested exception is:
javax.mail.SendFailedException: 550 #5.1.0 Address rejected.2013-02-28 13:17:08,236**
何が問題なのでしょうか?
解決方法は?
受信サーバーがメールアドレスのメールボックス('@'の前の部分)を認識していないことを意味します。スペルミスや存在しない名前である可能性もありますし、受信サーバーがコード550で返信することでメッセージ(例:スパム)を拒否するように設定されている可能性もあります。
SMTP応答コードを要約し、様々な関連RFCへのリンクを提供する多くのページのうちの1つを紹介します。 http://www.greenend.org.uk/rjk/tech/smtpreplies.html .
EDIT: あなたの質問に答えるために、コメントの許容範囲よりももう少しスペースが必要です。
RaghuKing、Javadoc を見てみると
javax.mail.SendFailedException
このような例外オブジェクトに対して、3 つのメソッドを呼び出すことができることに気がつくでしょう (
catch
ブロック)を作成します。
-
getInvalidAddresses()
を使用して、無効であるため送信されないアドレスの配列を取得します。 -
getValidSentAddresses()
で、このメッセージの送信に成功したアドレスの配列を取得します。 -
getValidUnsentAddresses()
を使用して、有効だがメッセージが送信されなかったアドレスの配列を取得します。
(もちろん、複数の受信者にメッセージを送る場合、成功するものもあれば失敗するものもありますが、成功の数に関係なく、少なくとも1つの失敗があれば例外がスローされます。また、送信先がひとつだけであれば、そのアドレスはこれらの配列のうちのひとつだけであり、おそらくは ValidSent のリストを作成します。
これらの配列は、アドレスが含まれる配列の種類によって、例外をどのように処理するかの詳細情報を提供します。これは明らかにアプリケーションに依存しますが、これらは妥当な提案かもしれません。
- 無効なアドレス : リストの無効なアドレスごとに、アドレスが間違っていたためメッセージが送信されなかったことをユーザーに伝え、アドレスを修正する方法を提供し、正しいアドレスへの再送信を試みます(ユーザーが別のアドレスを提供しない場合はキャンセルされます)。
- 有効な送信先アドレス : 再送信しないでください。
- 有効な未送信アドレス : これらのアドレスに再送信を試みてください。以前のアドレスが間違っていたため、これらのアドレスに届く前に送信を停止した可能性があります。
しかし、最終的には常識的な判断で、理解できない機能は理解できるまで少し試してみることです。
関連
-
[解決済み】代入の左手は必ず変数 CharAt
-
[解決済み】エラー。Selection does not contain a main type
-
[解決済み】javaで無効な文字定数
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] JUnit 4のテストで、ある例外が投げられたことをどのように断言しますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Javaパッケージが存在しないエラー
-
[解決済み】不正なエスケープ文字"㊧"について
-
[解決済み】"|="の意味は何ですか?(パイプ等号演算子)
-
[解決済み】Javaクラスの "型に解決できない"
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】keytoolエラー 鍵屋が改ざんされたか、パスワードが不正確だった場合
-
[解決済み】Eclipseで「JUnitテストが見つかりませんでした。
-
[解決済み】ソースルート外のJavaファイル intelliJ
-
[解決済み】Javaのswitch文。定数式が必要だが、定数である
-
[解決済み] "java.nio.charset.MalformedInputException" を避けるために、すべての包括的なCharset。入力の長さ= 1"?