You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Java17后,AWS SES SMTP无法使用TLSv1.3的问题求助

AWS SES SMTP 无法使用 TLSv1.3 发送邮件的问题

我有一个基于JavaMail连接AWS SES SMTP服务器发送邮件的Java应用,升级到Java17后希望默认使用TLSv1.3,已通过以下代码设置协议:

javaMailProperties.setProperty("mail.smtp.ssl.protocols","TLSv1.3 TLSv1.2");

但实际发送邮件时仍使用TLSv1.2。

验证Java环境支持TLSv1.3

我通过以下代码验证了当前Java环境支持TLSv1.3:

try{
     logger.info("List of supported SSL Protocols - " + 
     Arrays.toString(SSLContext.getDefault().getSupportedSSLParameters().getProtocols()));
}
catch (Exception e){
   logger.error("SSLContext Error" + e);
}

输出结果确认支持TLSv1.3:

[TLSv1.3, TLSv1.2, TLSv1.1, TLSv1, SSLv3, SSLv2Hello]

OpenSSL连接测试结果

使用openssl命令尝试通过TLSv1.3连接AWS SES SMTP服务器:

openssl s_client -crlf -quiet -starttls smtp -connect email-smtp.us-east-1.amazonaws.com:587 -tls1_3

返回错误:

4582575616:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:ssl/record/rec_layer_s3.c:1544:SSL alert number 70

改用TLSv1.2协议则可以正常建立连接:

openssl s_client -crlf -quiet -starttls smtp -connect email-smtp.us-east-1.amazonaws.com:587 -tls1_2

输出结果:

depth=2 C = US, O = Amazon, CN = Amazon Root CA 1
verify return:1
depth=1 C = US, O = Amazon, CN = Amazon RSA 2048 M01
verify return:1
depth=0 CN = email-smtp.us-east-1.amazonaws.com
verify return:1
250 Ok
451 4.4.2 Timeout waiting for data from client.

疑问

我在AWS控制台的SES模块中未找到任何与启用TLSv1.3相关的配置选项,请问无法使用TLSv1.3的原因是什么?AWS SES SMTP是否支持TLSv1.3?


内容的提问来源于stack exchange,提问作者Gowthaman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 14:53:18