javamail异常
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javamail异常相关的知识,希望对你有一定的参考价值。
nested exception is javax.mail.MessagingException: Exception reading response;
nested exception is:
java.net.SocketException: Connection reset. Failed messages: javax.mail.MessagingException: Exception reading response;
nested exception is:
java.net.SocketException: Connection reset
这个问题怎么解决?
如果不是因为设置问题,试试QQ重新更改下登录密码。这时邮箱密码需要重新设置。
如果重设后没有用,可以考虑过几天试试,有可能QQ的邮件服务器认为你发的邮件为垃圾邮件。网上搜索的答案中,目前没有个定论,但是在QQ邮箱中,这种情况也是多见的。
JavaMail 异常:STOREDRV.Submission.Exception:OutboundSpamException
【中文标题】JavaMail 异常:STOREDRV.Submission.Exception:OutboundSpamException【英文标题】:JavaMail Exception : STOREDRV.Submission.Exception:OutboundSpamException 【发布时间】:2017-01-17 09:23:44 【问题描述】:我使用 java mail API 从 Gmail、Hotmail 和 Outlook 帐户发送电子邮件。它适用于 Gmail 和 Hotmail,但不适用于 Outlook。
Outlook 发件人类的代码
public class OutlookSender extends javax.mail.Authenticator
private String mailhost = "smtp-mail.outlook.com";
private String user;
private String password;
private Session session;
static
Security.addProvider(new JSSEProvider());
public OutlookSender(String user, String password)
this.user = user;
this.password = password;
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", mailhost);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.port", "587");
session = Session.getDefaultInstance(props, this);
session.setDebug(true);
protected PasswordAuthentication getPasswordAuthentication()
return new PasswordAuthentication(user, password);
public synchronized void sendMail(String subject, String body,
String sender, String recipients) throws Exception
MimeMessage message = new MimeMessage(session);
DataHandler handler = new DataHandler(new ByteArrayDataSource(body.getBytes(), "text/plain"));
message.setSender(new InternetAddress(sender));
message.setSubject(subject);
message.setDataHandler(handler);
if (recipients.indexOf(',') > 0)
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipients));
else
message.setRecipient(Message.RecipientType.TO, new InternetAddress(recipients));
message.saveChanges();
//Transport trans = session.getTransport("smtp");
Transport transport = session.getTransport("smtp");
transport.connect(mailhost, user, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
发送电子邮件的代码:
OutlookSender sender = new OutlookSender("abc@outlook.com", "password");
sender.sendMail("Hello Text", "Body Text Sample", "abc@outlook.com", "zxy@gmail.com");
发送后,我从 logcat 收到异常内容:
javax.mail.MessagingException: 554-554 5.2.0 STOREDRV.Submission.Exception:OutboundSpamException; Failed to process message due to a permanent exception with message WASCL UserAction verdict is not None. Actual verdict is HipSend...
请帮助解释异常的原因以及如何解决此问题。谢谢。
【问题讨论】:
outlook.com 似乎认为您在发送垃圾邮件。 JavaMail debug output 显示什么? @BillShannon,它什么也没显示。 如果什么也没显示,说明你做的不对。 【参考方案1】:这是outlook安全,需要使用web登录。 您也可以查看此邮件来解锁您的帐户。
你好, 要继续发送邮件,请登录并验证您的 Outlook.com 帐户。 这有助于我们阻止自动化程序发送垃圾邮件。 感谢您的帮助和耐心! Outlook.com 团队
【讨论】:
只是为了澄清这个答案,请检查您尝试使用的帐户的收件箱,以接收来自 Outlook 团队的电子邮件,其中包含验证帐户所需的步骤以上是关于javamail异常的主要内容,如果未能解决你的问题,请参考以下文章
JavaMail 异常:STOREDRV.Submission.Exception:OutboundSpamException
MailSendException SSLHandshakeException JavaMail 电子邮件未发送
javaMail的使用以及trying to connect to host "1xxx@163.com", port 25, isSSL false异常