【问题标题】:Send mail to @hotmail.com/@live.com with JavaMail使用 JavaMail 将邮件发送到 @hotmail.com/@live.com
【发布时间】:2013-10-25 06:42:14
【问题描述】:

我在 android 上开发了一个应用程序来发送电子邮件。我想使用帐户 MSN 发送邮件,但它不发送和调试错误代码如下:

我对属性的配置是:

systemProperty.put("mail.smtp.starttls.enable","true");
systemProperty.put("mail.smtp.auth", "true");
systemProperty.setProperty("mail.host", "smtp.live.com");
systemProperty.put("mail.smtp.port", "587");

密码和电子邮件地址是正确的,我曾经用其他主机测试过除了 MSN 之外的工作。

【问题讨论】:

  • 检查配置,你得到的错误是什么!
  • 配置不出错 我的邮箱和密码都是正确的,但是发送的时候有问题。当我打印调试 smtp 时,它显示如上的错误代码。
  • 错误代码在哪里?

标签: java android email jakarta-mail outlook.com


【解决方案1】:

看起来 JavaMail 无法正确识别您的主机名,虽然我不知道为什么它会认为“????”是您的主机名。将 mail.smtp.localhost 属性设置为您机器的正确主机名。详情请见javadocs for the com.sun.mail.smtp package

【讨论】:

  • localhost 属性有什么问题?
  • 我的代码很愚蠢,我在 localhost 属性上使用不正确的值进行初始化。它可以在 gmail 和 yahoo 上正常工作,但在使用 Microsoft 帐户时会崩溃。微软账号的smtp还有一件事:smtp-mail.outlook.com
【解决方案2】:

您的配置似乎没有问题。 501 5.5.4 Invalid Address 可能由于以下原因而发生

  • To 电子邮件地址的格式错误(例如检查它是否违反了电子邮件地址的可能组合。例如,“我的名字” - 尝试将其简化为 myname@live.com 并尝试
  • 可能是退回的电子邮件地址
  • 检查您用于发送此内容的库、发送方式和允许内容

【讨论】:

  • 邮件已更正,是否有可能不再允许我们通过其他应用程序发送邮件?
猜你喜欢
  • 2014-10-26
  • 2013-04-27
  • 2018-12-18
  • 1970-01-01
  • 2015-05-21
  • 2012-01-28
  • 2011-08-04
  • 2012-08-10
相关资源
最近更新 更多