gpt4 book ai didi

java - 如何正确设置 javamail 以使用 STARTTLS?

转载 作者:行者123 更新时间:2023-12-04 05:05:04 27 4
gpt4 key购买 nike

在设置我的 session 时,我正在设置 starttls.enable 和 .required 属性,但是当连接发生时,它应该会根据文档失败:

mail.smtp.starttls.enable boolean If true, enables the use of the STARTTLS command (if supported by the server) to switch the connection to a TLS-protected connection before issuing any login commands. Note that an appropriate trust store must configured so that the client will trust the server's certificate. Defaults to false." http://javamail.kenai.com/nonav/javadocs/com/sun/mail/smtp/package-summary.html


props = new Properties();
props.put("mail.smtps.host", MAILSERV);
props.put("mail.smtps.socketFactory.port", 465);
props.put("mail.smtps.auth", "true");
props.put("mail.smtps.port", 465);
props.put("mail.smtps.socketFactory.fallback", "false");
props.put("mail.smtps.socketFactory.class","utils.DummySSLSocketFactory");
props.put("mail.smtps.quitwait", "false");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.starttls.required", "true");
Session session = Session.getInstance(props, authenticator);


transport = session.getTransport("smtps");
transport.connect(mailServer, port, username, password);
transport.sendMessage(message, message.getAllRecipients());

那么我做错了什么,允许我在服务器不支持的情况下使用 Starttls?

最佳答案

我在使用 STARTTLS 时遇到的问题是由于我获得了安全传输:

transport = session.getTransport("smtps");

将其更改为“smtp”后,我可以使用 STARTTLS。

关于java - 如何正确设置 javamail 以使用 STARTTLS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15619349/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com