gpt4 book ai didi

java - 通过 smtps 发送邮件时出错

转载 作者:太空宇宙 更新时间:2023-11-04 08:45:20 25 4
gpt4 key购买 nike

在执行以下行时连接到我的邮件服务器时出现以下异常

transport.connect("test.mailserver.com",465,"test.user@test.com","testpwd");

异常(exception)是:

(javax.mail.MessagingException) javax.mail.MessagingException: Exception reading response;
nested exception is:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: subject/issuer name chaining check failed

下面是代码:

protected static Session initializeSession(MailMessage p_msg) throws Exception{

//Get the SMTP Host
Properties prop = System.getProperties();
prop.put( "mail.smtps.host", "test.mailserver.com" );
prop.put("mail.transport.protocol", "smtps");
prop.put("mail.smtps.auth", true);

Session session = Session.getInstance(prop,null);
session.setDebug( p_msg.getDebugMode() );
return session;
}
protected static void sendMessage(MimeMessage p_msg) throws Exception{

Properties prop = System.getProperties();

Session session = Session.getDefaultInstance(prop, null);
Transport transport = session.getTransport("smtps");
transport.connect("test.mailserver.com",465,"test.user@test.com","testpwd");
transport.sendMessage(p_msg, p_msg.getAllRecipients());
transport.close();
}

最佳答案

我依稀记得自己也遇到过这样的事情。事实证明,我错误地配置了 SSL,将证书以错误的顺序放入服务器的证书链中。典型 Web 浏览器中的 SSL 堆栈并不关心这一点,但(显然)Java 中的客户端 SSL 引擎无法(或不会)处理以错误顺序呈现链的服务器。

因此,如果您没有找到其他答案,请尝试查看您在邮件服务器上安装 SSL 证书等的方式。

关于java - 通过 smtps 发送邮件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4457731/

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