javax.mail.MessagingException: while sending message;Connection reset by peer: socket write error

大家好,我是烤鸭:


阿里云邮件推送服务报错。当你也使用阿里云的邮件推送服务提示上面这个错误的话,我先告诉你原因和目前能想到的解决方案。

 

解决思路:
1.   换企业邮箱,阿里的上限15M,网易的不知道,反正30M没问题。
2.   把附件上传到oss上,邮件发送oss地址,让用户自己去下载。
3.   附件内容拆分,分成几个邮件发出。

由于这个问题花了些时间,也记录一下过程。

1 问题复现

报错内容:

javax.mail.MessagingException: IOException while sending message;nested exception is:java.net.SocketException: Connection reset by peer: socket write errorat com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1167)at javax.mail.Transport.send0(Transport.java:195)at javax.mail.Transport.send(Transport.java:124)at com.iruidou.job.job.db.ruidou.sendEmails.utils.SendMail.sendVerifyXlsxFile(SendMail.java:380)at com.iruidou.job.service.preauthorize.SendHbPreauthorizeDeductDataService.sendHbPreauthorizeDeductDataEmail(SendHbPreauthorizeDeductDataService.java:99)at com.iruidou.job.test.SpringTransactionalContextTests.test11(SpringTransactionalContextTests.java:144)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)

出现这个问题第一时间想到的是socket 超时,网上查了类似的资料,关键字 :javax.mail 邮件发送 阻塞 超时

这篇写的挺好的:
https://www.cnblogs.com/Java3y/p/11471036.html

2.修改之后报错同样,设置debug模式

Properties props = new Properties();
//设置用户的认证方式
props.setProperty("mail.smtp.auth", "true");
props.put("mail.smtp.auth", "true");
// 发件人的账号
props.put("mail.user", emailSenderAccount);
// 访问SMTP服务时需要提供的密码
props.put("mail.password", emailSenderPassword);
//设置传输协议
props.setProperty("mail.transport.protocol", "smtp");
//设置发件人的SMTP服务器地址
props.put("mail.smtp.host", "smtpdm.aliyun.com");
props.setProperty("mail.smtp.port", "465");
props.setProperty("mail.smtp.ssl.enable", "true");
props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
// 构建授权信息,用于进行SMTP进行身份验证
Authenticator authenticator = new Authenticator() {@Overrideprotected PasswordAuthentication getPasswordAuthentication() {// 用户名、密码String userName = props.getProperty("mail.user");String password = props.getProperty("mail.password");return new PasswordAuthentication(userName, password);}
};
//2、创建定义整个应用程序所需的环境信息的 Session 对象
Session session = Session.getInstance(props,authenticator);
//设置调试信息在控制台打印出来
session.setDebug(true);

如果出现以下的问题:

DEBUG SMTP: IOException while sending, closing, THROW: 
java.io.IOException: javax.mail.MessagingException: No MimeBodyPart contentat com.sun.mail.handlers.multipart_mixed.writeTo(multipart_mixed.java:105)at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:889)at javax.activation.DataHandler.writeTo(DataHandler.java:317)at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1485)at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1773)at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1119)at com.etc.email.EmailTest.sendEmailTest(EmailTest.java:104)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:73)at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:83)at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)at org.junit.runners.ParentRunner.run(ParentRunner.java:363)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)at org.junit.runner.JUnitCore.run(JUnitCore.java:137)at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

代码肯定哪有问题,用下面代码,亲测可用。
https://www.cnblogs.com/eason-d/p/8039347.html

如果出现 421 的返回码:

DATA
421 4.4.5 HL:ICC .For more information, please visit https://feedback.qiye.163.com/bounce/ABFBVSMHL1UjWg5deEB4cQYGBS0%2FeFQnbkxEXUch
DEBUG SMTP: got response code 421, with response: 421 4.4.5 HL:ICC .For more information, please visit https://feedback.qiye.163.com/bounce/ABFBVSMHL1UjWg5deEB4cQYGBS0%2FeFQnbkxEXUchRSET
DEBUG SMTP: EOF: [EOF]
DEBUG SMTP: MessagingException while sending, THROW: 
com.sun.mail.smtp.SMTPSendFailedException: 421 4.4.5 HL:ICC .For more information, please visit https://feedback.qiye.163.com/bounce/ABFBVSMHL1UjWg5deEB4cQYGBS0%2FeFQnbkxEXUchat com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2108)at com.sun.mail.smtp.SMTPTransport.data(SMTPTransport.java:1876)at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1119)at com.etc.email.EmailTest.sendEmailTest(EmailTest.java:104)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:73)at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:83)at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)at org.junit.runners.ParentRunner.run(ParentRunner.java:363)at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)at org.junit.runner.JUnitCore.run(JUnitCore.java:137)at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)

 

•421 HL:REP 该IP发送行为异常,存在接收者大量不存在情况,被临时禁止连接。请检查是否有用户发送病毒或者垃圾邮件,并核对发送列表有效性;
•421 HL:ICC 该IP同时并发连接数过大,超过了网易的限制,被临时禁止连接。请检查是否有用户发送病毒或者垃圾邮件,并降低IP并发连接数量;
•421 HL:IFC 该IP短期内发送了大量信件,超过了网易的限制,被临时禁止连接。请检查是否有用户发送病毒或者垃圾邮件,并降低发送频率;
•421 HL:MEP 该IP发送行为异常,存在大量伪造发送域域名行为,被临时禁止连接。请检查是否有用户发送病毒或者垃圾邮件,并使用真实有效的域名发送;

更多错误码的介绍:

https://blog.csdn.net/wangyanming123/article/details/52734334

可能是同一时间发送次数过多,被拦截了,换个ip或者等一会再试。(用网易的企业邮箱会有这个问题,阿里云的没事

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412754.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

李晓菁201771010114《面向对象程序设计(java)》第十三周学习总结

理论知识:事件处理 1.事件源:能够产生事件的对象都可以成为事件源,如文本框,按钮等。一个事件源是一个能够注册监听器并向监听器发送事件对象的对象。 2.事件监听器:事件监听器对象接收事件源发送的通告(事…

记一次 OOM 的原因和处理 出现大量 close_wait,项目无法访问 activeMq和 poi 出现的 OOM

大家好,我是烤鸭: 记一次项目无法访问的事件和处理。由于某个模块每隔几天就会出现无法访问,目前的最简单粗暴的方法就是重启。 1. 现象 项目内日志打印正常,经过dubbo的rpc服务和接口调用正常。http接口无法访问。提示nginx 502。 2.…

谷歌浏览器中安装JsonView扩展程序

实际开发工作中经常用到json数据,那么就会有这样一个需求:在谷歌浏览器中访问URL地址返回的json数据能否按照json格式展现出来。 比如,在谷歌浏览器中访问:http://jsonview.com/example.json 展现效果如下: 那么安装了…

Serialized class com.xxx.xxxService must implement java.io.Serializable

大家好,我是烤鸭: 使用dubbo的时候,遇到如下的问题。 Serialized class com.xxx.xxxService must implement java.io.Serializable 1. 异常 dubbo无论使用哪个协议传递参数的时候,都需要参数实现序列化接口。 所以提示这个…

CS229 7.1应用机器学习中的一些技巧

本文所讲述的是怎么样去在实践中更好的应用机器学习算法,比如如下经验风险最小化问题: 当求解最优的 后,发现他的预测误差非常之大,接下来如何处理来使得当前的误差尽可能的小呢?这里给出以下几个选项,下面…

8号团队-团队任务三:每日立会(2018-11-27)

团队信息: 1.团队序号 8 2.开发软件 飞机大战 3.今日整理人:徐浩茗 职位:项目经理 学号:2016035107247 4.本次团队会议共有8人参加 无缺席 团队汇报: (截图)如下 . 4.燃尽图 5.本次会议中遇…

Alibaba 开源工具 Arthas 使用

大家好,我是烤鸭: 很长时间没更新了,最近太忙了,只能抽空水点文章了,今天给大家介绍的是阿里的开源工具 Arthas 的使用。 1. 开源地址 Arthas 是Alibaba开源的Java诊断工具 https://github.com/alibaba/arthas 中文说…

Password

题目 题解 由打表得对于任意\(i \geq 1\)&#xff0c;都有第\(i1\)行和第\(i3\)行相等、 于是我们可以分块维护一下。 然后做完了。 代码 #include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> #include <algorithm>us…

[maven] springboot将jar包打包到指定目录

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享一下springboot将jar包打包到指定目录下。 由于之前上线都是一个打包到一个jar&#xff0c;由于服务多了&#xff0c;1个包100多M&#xff0c;哪怕是小版本上线都需要重新上传jar包。 1.目的 将不常用的比如spring,druid等不常…

springboot启动后卡住 无日志的几种情况

大家好&#xff0c;我是烤鸭&#xff1a; 今天分享一下springboot启动后无日志的问题。 1.场景复现 springboot项目启动后卡住无日志&#xff0c;肯定是报错了或者其他原因&#xff0c;并且日志没有打印出来。 1.1 说一下比较通用常见的场景。 检查一下 是否 exc…

VMware下Centos7快速搭建vsftpd

最简单快捷的实现ftp的功能,不考虑安全问题. 1.配置防火墙和selinux vi /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX can take one of these three values: # enforcing - SELinux security policy is enforced. # per…

PMP读书笔记(第1章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第一章 引论1.1 概述指南和目的1.1.1 项目管理标准1.1.2 通用词汇1.1.3 道德与专业行为规范1.2 概述指南和目的1.2.1 项目1.2.2 项目管理的重要性1.2.3 项目、项目集、项目组合以及运营管理之间的关…

PMP读书笔记(第2章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第二章 项目运行环境2.1 概述2.2 事业环境因素2.2.1 组织内部的事业环境因素2.2.2 组织外部的事业环境因素2.3 组织过程资产2.3.1 过程、政策和程序2.3.2 组织知识库2.4 组织系统2.4.1 概述2.4.2 组…

do文件的编写(转)

以前在使用ModelSim进行仿真的时候&#xff0c;一直是使用其GUI进行操作的&#xff0c;但是这样很繁琐也很费时。故希望学习其自动化仿真do文件&#xff0c;下面是学习的一些总结。 一、编写基本的do文件 下面按照实际仿真的步骤来说明do文件中需要用到的各个tcl命令。 1、quit…

PMP读书笔记(第4章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第四章 项目整合管理概述项目整合管理的核心概念项目整合管理的发展趋势和新兴实践裁剪时需要考虑的因素在敏捷或适应型环境中需要考虑的因素4.1 制定项目章程4.1.1 制定项目章程&#xff1a;输入4.…

php中foreach循环遍历二维数组

最近在用tp3.2框架&#xff0c;在查询的时候用到了select()&#xff0c;这条语句返回的是二维数组&#xff0c;所以在对返回的数据做处理时&#xff0c;遇到了些麻烦&#xff0c;百度了下foreach&#xff0c;终于用foreach解决了数据的筛选问题 &#xff08;因为不知道该怎么设…

PMP读书笔记(第6章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第六章 项目进度管理项目进度管理项目进度管理的核心概念项目进度管理的发展趋势和新兴实践裁剪考虑因素关于敏捷/适应型环境的考虑因素6.1 规划进度管理6.1.1 规划进度管理&#xff1a;输入6.1.1.1…

connect ECONNREFUSED 151.101.0.133:443 | spawn xxx ENOENT

大家好&#xff1a; 我是烤鸭&#xff0c;今天分享一个node项目打包失败的问题。 1. 问题复现 之前一直出现node项目打包失败的情况&#xff0c;使用测试环境的jenkins没问题&#xff0c;生产的有问题。基本可以排除代码层面的问题。 报错信息如图。另外说一下出现了 con…

Python(八) 函数、模块

函数 定义函数 1、意义&#xff1a;函数是实现某个功能的一些代码&#xff0c;提高代码的复用性。 2、定义:用def关键字定义函数&#xff0c; 3、函数组成&#xff1a;函数由函数名、形参、函数体、调用函数&#xff08;里面会有函数体&#xff09;组成 4、要使用函数&#xff…

PMP读书笔记(第7章)

大家好&#xff0c;我是烤鸭&#xff1a;     今天做一个PMP的读书笔记。 第七章 项目成本管理项目成本管理项目成本管理的核心概念项目成本管理的趋势和新兴实践裁剪考虑因素关于敏捷/适应型环境的考虑因素7.1 规划成本管理7.1.1 规划成本管理&#xff1a;输入7.1.1.1 项目…