我正在使用Java mail api和 hmailserver从我的本地主机发送出站电子邮件。我使用 SMTP 中继器 outbound.att.net
以及我的用户名和密码进行身份验证。当我运行程序并检查日志时,我看到以下行:
"RECEIVED: 530 5.7.0 Must issue a STARTTLS command first"
考虑到我将邮件属性设置为包含 STARTTLS 命令,我感到很困惑:
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.user", from);
props.put("mail.smtp.password", pass);
props.put("mail.smtp.port", "25");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
有人知道我可能做错了什么吗?
最佳答案
检查您是否没有做过任何这些common mistakes .
根据日志输出,您可能没有使用 JavaMail reference implementation 。也许您正在使用 JavaMail 的 GNU 版本?它可能不支持引用实现特有的某些功能。
如果这些都不能解决您的问题,请添加更多 debug output .
关于Java 邮件 api 和 hmailserver 已接收 : 530 5. 7.0 必须首先发出 STARTTLS 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23298728/