我无法连接到使用SSL身份验证的smtp端口号465。之前它曾经在默认端口25中工作,但已将设置更改为指向所有外发电子邮件的出站电子邮件的465。当我使用outlook但是显示它无法连接到端口465时,这完全正常。
以下是错误。
javax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.bizmail.yahoo.com, port: 465
at javax.mail.Transport.send0(Transport.java:218)
at javax.mail.Transport.send(Transport.java:80)
以下是我使用的Javax Mail设置。
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.socketFactory.class",
props.setProperty("mail.smtp.port", "465");
props.put("mail.smtp.ssl.enable", "true");
props.put("mail.smtp.starttls.enable","true");
props.put("mail.server.username", "test@gamil.com");
props.put("mail.server.password", "test123");
props.put("mail.smtp.auth", "true");
props.setProperty("mail.smtp.submitter", authenticator.getPasswordAuthentication().getUserName());
Session session = Session.getInstance(props, authenticator);
session.setDebug(sessionDebug);
非常感谢任何帮助。
答案 0 :(得分:1)
正如日志所述,无法连接端口465上的smtp.bizmail.yahoo.com
,如果您使用的是gmail,则主机应为:smtp.gmail.com
。
供参考:
Gmail - 主持人:smtp.gmail.com,端口:465
Hotmail - 主持人:smtp.live.com,端口:587
Yahoo - 主持人:smtp.mail.yahoo.com,端口:465