0
我正在尝试从Java连接到邮件服务器。我已经能够使用相同的代码从Java成功连接到许多邮件服务器,包括Gmail,Rackspace,GoDaddy和其他代码,但是无论我尝试哪种设置,该服务器都可以工作。
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.host", this.outgoingHost);
props.put("mail.smtp.port", 587);
props.put("mail.smtp.ssl.trust", this.outgoingHost);
session = Session.getInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
此操作失败,javax.mail.MessagingException:无法将套接字转换为TLS;嵌套的异常是:javax.net.ssl.SSLException:无法识别的SSL消息,纯文本连接?
我也尝试过,
props.put("mail.smtp.host", this.outgoingHost);
props.put("mail.smtp.port", 587);
props.put("mail.smtp.socketFactory.port", 587);
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.ssl.trust", this.outgoingHost);
session = Session.getInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
此操作失败,javax.mail.SendFailedException:无效的地址;嵌套的例外是:com.sun.mail.smtp.SMTPAddressFailedException:端口587上的邮件提交需要550 ASMTP AUTH
我也尝试过端口465,但是超时。
我能够从Thunderbird电子邮件客户端使用相同的smtp设置发送邮件(主机/端口/用户/密码相同,但必须执行其他操作)。
使用Java Mail 1.51
有什么想法吗?