我无法从 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的主要内容,如果未能解决你的问题,请参考以下文章
无法以正确的格式、gmail api 和 ae.net.mail 对特殊字符电子邮件进行编码
javax.mail.MessagingException:AppEngine 应用程序中的连接错误
如何使用 iphone mail-core api 发送附件?