【发布时间】:2020-10-02 16:23:59
【问题描述】:
我在使用公司交换服务器通过 Javamail 发送电子邮件时遇到了一些问题。我们有一个应用程序通过 gmail 服务器发送电子邮件没有任何问题,但是对于谷歌政策的一些变化,我们希望使用公司服务器来完成这项工作。 我确定会话属性中的问题,但我找不到让它工作的方法
Properties props = new Properties();
props.put("mail.smtp.port", 465);
props.put("mail.smtp.socketFactory.port", 465);
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
props.put("mail.smtp.auth", "true");
props.put("mail.debug", "true");
props.put("mail.smtp.host", _server);
session = Session.getInstance(props, this);
try {
transport = session.getTransport("smtp");
transport.connect("mail.company.com",_user,_pass);
transport.close();
这是显示日志的错误
javax.mail.MessagingException:无法连接到 SMTP 主机:mail.company.com,端口:443; 嵌套异常是: avax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: 找不到证书路径的信任锚。
【问题讨论】:
-
443 是 HTTPS 标准端口。好像你的 465 端口没有被使用。
标签: java android email jakarta-mail