我无法从 Java Mail Api 发送 Yahoo Mail

Posted

技术标签:

【中文标题】我无法从 Java Mail Api 发送 Yahoo Mail【英文标题】:I am not able to send Yahoo Mail from Java Mail Api 【发布时间】:2012-12-08 21:16:02 【问题描述】:

我正在使用以下代码在 Yahoo 上发送电子邮件:--

    Properties   props1 = new Properties();
    EmailAuthenticator authenticator = new EmailAuthenticator(account);

        props1.setProperty("mail.transport.protocol", "smtps");
        props1.setProperty("mail.host", "smtp.mail.yahoo.com");
        props1.put("mail.smtp.auth", "true");
        props1.put("mail.smtp.port", "587");
           props1.put("mail.smtp.starttls.enable", "true");
        smtpSession = Session.getInstance(props1, authenticator);
              smtpSession.setDebug(true);

但我正面临javax.mail.MessagingException [EOF] 我从过去 5 天开始面临这个问题我的 LogCat 是:---

  Message-ID:<1082699080.2.1356082481793.JavaMail.javamailuser@localhost>
Subject: Hello
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
554 Transaction failed : Cannot send message due to possible abuse; please visit http://postmaster.yahoo.com/abuse_smtp.html for more information
 DEBUG SMTP: got response code 554, with response: 554 Transaction failed : Cannot send message due to possible abuse; please visit http://postmaster.yahoo.com/abuse_smtp.html for more information
RSET
DEBUG SMTP: EOF: [EOF]
javax.mail.MessagingException: [EOF]
com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1481)
 com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1512)
 com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1321)
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:637)
   javax.mail.Transport.send0(Transport.java:189)
    javax.mail.Transport.send(Transport.java:118)
   com.privymo.javamail.EmailManager.sendMail(EmailManager.java:203)

请帮忙 谢谢,

【问题讨论】:

不确定,但请检查您是否正确传递了 uerid,pwd 以访问邮件服务(发送邮件) 用户名密码正确 @user1921139 你解决了吗?? 【参考方案1】:

错误回溯显示您收到 SMTP 错误消息:

554 交易失败:由于可能滥用而无法发送消息;请访问http://postmaster.yahoo.com/abuse_smtp.html了解更多信息

虽然那个特定的 Yahoo!页面无法访问,从消息中可以清楚地看出 Yahoo!怀疑您的邮件可能是垃圾邮件并拒绝发送。 thread in the Yahoo! Mail Help Community 建议联系 Yahoo! Mail Customer Care 以获取更多信息和帮助。

【讨论】:

我还是不明白。我该怎么办?我已经看到了这个链接,但我无法提供任何帮助 该错误消息特定于 Yahoo! 的 SMTP 服务器。您应该使用我在回答中发布的客户服务链接来联系 Yahoo!直接找出您的电子邮件被服务器阻止的原因。【参考方案2】:

你有 Yahoo! Mail Plus 帐户?

来自 JavaMail FAQ:

"Note that free Yahoo! Mail accounts do not allow POP3 or SMTP access. You must purchase a Yahoo! Mail Plus account to get POP3 and SMTP access."

【讨论】:

你的概念是对的但我想问一件事,在开始时我已经从这个代码在雅虎上发送邮件。一天工作正常,然后我收到此错误,为什么? 尝试将465 作为端口而不是587 我检查了 465,25,587 仍然没有成功 我认为从第一个line 中可以清楚地看出Javamail 仅适用于Yahoo! Mail Plus 帐户。

以上是关于我无法从 Java Mail Api 发送 Yahoo Mail的主要内容,如果未能解决你的问题,请参考以下文章

使用 JAVA Mail API 的连续电子邮件服务器连接

无法以正确的格式、gmail api 和 ae.net.mail 对特殊字符电子邮件进行编码

javax.mail.MessagingException:AppEngine 应用程序中的连接错误

如何使用 iphone mail-core api 发送附件?

javax.mail无法在Marshmallow或更高版本的系统上运行

从流明发送电子邮件