Closed zhangdechang closed 4 years ago
赞~ 对遇到类似问题的小伙伴们很有帮助啊:)
我也遇到了相同的问题 xxl-job-admin/src/main/resources/xxl-job-admin.properties的配置为(邮箱用户名和密码隐藏了)
### xxl-job email
xxl.job.mail.host=smtp.mxhichina.com
xxl.job.mail.port=465
xxl.job.mail.ssl=true
xxl.job.mail.username=x@xxx
xxl.job.mail.password=xxx
xxl.job.mail.sendNick=《任务调度平台XXL-JOB》
把executor的进程停止后,失败的时候发邮件报错
2018-06-26 18:49:50 xxl-job-admin [com.xxl.job.admin.core.util.MailUtil]-[Thread-10]-[sendMail]-[53]-[ERROR] Sending the email to the following server failed : smtp.mxhichina.com:465
org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.mxhichina.com:465
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1469)
at org.apache.commons.mail.Email.send(Email.java:1496)
at com.xxl.job.admin.core.util.MailUtil.sendMail(MailUtil.java:50)
at com.xxl.job.admin.core.thread.JobFailMonitorHelper.failAlarm(JobFailMonitorHelper.java:161)
at com.xxl.job.admin.core.thread.JobFailMonitorHelper.access$400(JobFailMonitorHelper.java:24)
at com.xxl.job.admin.core.thread.JobFailMonitorHelper$1.run(JobFailMonitorHelper.java:68)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.mail.MessagingException: Could not connect to SMTP host: smtp.mxhichina.com, port: 465, response: -1
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2106)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:712)
at javax.mail.Service.connect(Service.java:388)
at javax.mail.Service.connect(Service.java:246)
at javax.mail.Service.connect(Service.java:195)
at javax.mail.Transport.send0(Transport.java:254)
at javax.mail.Transport.send(Transport.java:124)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1459)
... 6 more
@xuxueli 我想应该是要修改xxl-job里发邮件的代码,把socketFactory的配置加上
用props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); 报错:unable to find valid certification path to requested target 查了一下需要生成证书,可以这样修改来忽略:
MailSSLSocketFactory sf = null;
try {
sf = new MailSSLSocketFactory();
} catch (GeneralSecurityException e) {
logger.error("error", e);
}
sf.setTrustAllHosts(true);
pro.put("mail.smtp.ssl.enable", "true");
pro.put("mail.smtp.ssl.socketFactory", sf);
开启SSL,在application.properties中增加以下配置即可
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.properties.mail.smtp.ssl.socketFactory=javax.net.ssl.SSLSocketFactory
Please answer some questions before submitting your issue. Thanks!
版本
版本应该是1.7的,不过看过1.8最新的,相关邮件服务也是没有这段代码
问题描述
环境:阿里云ecs,企业邮箱smtp.qiye.163.com 原因:前几天运维突然告知邮件服务25端口关闭,启用465端口.需修改xxl-job-admin.properties配置文件中的xxl.job.mail.port=465, 问题:启动项目后发现,该邮件服务仍读取邮件端口25,但相对应的端口465已经读取到
此段代码中的port已经是465,但服务仍然报错,如图
真实原因是:ECS基于安全考虑,目前已禁用25端口。且服务器勾选SSL,使用465端口。 解决:参考CSDN博主:daqi1983的分享http://blog.csdn.net/daqi1983/article/details/73369440, 在邮件工具类中添加如下代码解决: