【发布时间】:2013-07-02 21:24:27
【问题描述】:
我正在尝试从 hotmail 帐户使用 javax.mail 发送邮件。
到目前为止,我还使用 gmail 帐户 测试了我的代码,一切正常,但是
使用 hotmail 没有什么特别的效果,我收到了 MailConnectException。
这是我用来发送邮件的代码:
props.put("mail.starttls.enable", true);
props.put("mail.smtp.host", "smtp.live.com");
props.put("mail.smtp.port", "25");
props.put("mail.debug", true);
props.put("mail.smtp.auth", true);
如您所见,我创建了一个 PropertiesFactory 以便为我使用的每个特定邮件主机创建 Properties 对象的特定实例。在代码中有 HotmailProperties 结构的工厂。
开始调试会话我检查了 useAuth 选项和 isSSL 都等于 false。
我要在属性配置中更改什么?也许代码中还有其他错误?
这是我的程序的调试结果: http://ideone.com/SDu4JG
已解决 我已经解决了 hotmail 服务器的问题。 正在查看此页面:http://windows.microsoft.com/en-us/windows/outlook/send-receive-from-app 我知道 hotmail 与 gmail 和 yahoo 等其他邮件服务器不同,它将用户名视为完整的电子邮件地址。因此,当我登录时,我总是会收到错误消息。
终于成功了。谢谢大家。
【问题讨论】:
-
异常堆栈跟踪好吗?
-
ideone.com/9g9JCn 这是我执行程序时得到的。
-
props.put("mail.smtps.port", "487"); ?
-
端口不正确?我不使用“mail.smtp.port”吗?
-
如果端口是正确的,你必须查看hotmail的帮助站点,。但是您的调试消息说主机正在响应 530 5.7.0 Must issue a STARTTLS command first 所以端口应该是正确的。这些属性在配置时被命名为 false,我很确定 ;)
标签: java jakarta-mail