【エラー解決】AWS APIエンドポイントの接続をTLS1.2を指定してメール送信エラーを解決

こんにちは、湯本です。
 
開発中のメール送信バッチを動かしたところ、メール送信時にエラーが発生したので解決方法のメモを残します。

エラー内容

java.lang.Exception: javax.mail.AuthenticationFailedException: 220 Ready to start TLS

エラー発生時の環境

Java
14
TLS
1.0/1.1

エラー原因

メール送信する際のTLSバージョンがAWSの仕様を満たしていませんでした。2023年12月31日までに、AWSのすべてのAPIエンドポイントでTLS1.2以上にする必要がありました。
 
TLS 1.2 がすべての AWS API エンドポイントへの接続に必要な最小バージョンになります

エラー解決方法

メール送信処理にTLSバージョンを1.2指定するソースを追加しました。TLS接続が開始され認証エラーを回避することができました。

properties.put(“mail.smtp.ssl.protocols”, “TLSv1.2”);

まとめ

プログラムだけでなく関連するサービスの最新情報をキャッチアップしながらシステム開発、運用しなければなりません。
 
事後対応ではなく、事前対応ができるように、日頃から情報収集を行っていきます。
 
 
 
 
《関連記事》

CloudWatch
技術
2023.5.26(Fri)

【エラー解決方法:AWS-CLI】awsコマンド実行時、AWSRequestTimeTooSkewedが発生したときの対処法

#コマンド

技術
2022.6.15(Web)

【エラー解決方法】Java8のHttpClientを使ってPatchで送信した際に405エラーが発生

#プログラム #Java#Java

技術
2023.11.28(Tue)

【JavaMail TLS1.0/1.1対策】JavaMail1.4を1.6にアップデートしてTLS1.2に対応しよう

#Java#Java

記事をシェア
MOST VIEWED ARTICLES