是starttls.enabled = true对于从Java代码发送邮件是安全的吗? [英] is starttls.enabled = true is safe for mail sending from java code?
问题描述
我正在从Java代码发送电子邮件.我的配置是
I'm sending emails from java code.My configuration is
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", "****");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "587");
在STARTTLS之后,所有使用STARTTLS的协议都处于SSL模式发出命令
Any protocol that uses STARTTLS is in SSL mode after the STARTTLS command is issued
但是我的调试输出显示:DEBUG SMTP:尝试连接到主机"****",端口587,isSSL为false.
But my debug output shows:DEBUG SMTP: trying to connect to host "****", port 587, isSSL false.
所以我的问题听起来像
这样的配置真的很安全吗,并且使用 SSL
作为 EJP 所说的,尽管isSSL = false在我的调试输出上?
Is such configuration really safe and uses SSL
as EJP said despite of isSSL=false on my debug output?
更新
连接代码
Transport transport = session.getTransport("smtp");
transport.connect("host", 587,"username", "password");
当我写 Transport transport = session.getTransport("smtps")
时
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection
推荐答案
设置 mail.smtp.starttls.required = true
这样可以确保使用TLS或不会发生连接REF: https://javamail.java.net/nonav/docs/api/com/sun/mail/smtp/package-summary.html
Set mail.smtp.starttls.required=true
This ensures TLS is used or connection won't happen
REF: https://javamail.java.net/nonav/docs/api/com/sun/mail/smtp/package-summary.html
这篇关于是starttls.enabled = true对于从Java代码发送邮件是安全的吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!