近期由于项目需要,使用了org.apache.commons.email来发送邮件的功能,如下:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-email</artifactId>
    <version>1.5</version>
</dependency>

发送邮件代码:

public void sendWarningEmail(String subject,String msg){log.info("开始发送邮件--->主题:{}",subject);

    MultiPartEmail email = new MultiPartEmail();
    email.setHostName(hostName);
    email.setAuthentication(userName, passWord);
    try {for(String receiver :receivers) {email.addTo(receiver);
        }email.setFrom(sendFrom);
        email.setSubject(subject);
        email.setMsg(msg);
        email.send();

        log.info("发送邮件结束--->主题:{}",subject);
    } catch (EmailException e) {log.error("发送邮件失败,e:{}",e);
    }
}

使用的配置hostName为:smtp.exmail.qq.com,本地调用正常发送邮件,提测之后又如下报错:

Caused by: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.exmail.qq.com, 25; timeout 60000
 at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2118)
 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)

... 12 common frames omitted

可以看出连接超时导致邮件发送失败,初步怀疑测试环境宿主机无法访问外网,进入bash后 curl http://baidu.com可正常响应,排除此种情况,然后同样方法到部署的具体容器环境(docker)控制台 curl http://baidu.com 同样可以正常响应,判断应用环境没有问题,则判断是否腾讯邮件服务器问题,到宿主机访问:Telnet smtp.exmail.qq.com 25,访问超时。后咨询PE答复阿里云ECS为管控垃圾邮件,屏蔽了25端口号的服务,所以导致该访问超时,尝试使用ssl方式的465端口,修改代码如下之后成功发送邮件:

email.setSmtpPort(465);
email.setSSLOnConnect(true);

关于smtp.exmail.qq.com:25端口访问超时的问题相关推荐

  1. 利用org.apache.commons.mail发送邮件smtp.exmail.qq.com:25链接超时

    服务器:阿里云服务器 发邮件:commons-email maven: <dependency><groupId>org.apache.commons</groupId& ...

  2. java邮件发送报错: Couldn‘t connect to host, port: smtp.exmail.qq.com, 25; timeout -1

    java邮件发送报错: Couldn't connect to host, port: smtp.exmail.qq.com, 25; timeout -1 1,发送邮件代码 2,报错原因 1,发送邮 ...

  3. linux下安装sendEmail Timeout while connecting to smtp.exmail.qq.com:25

    sendEmail 是一个邮件代理传输程序,当sendmail程序得到一封待发送的邮件的时候,它需要根据目标地址确定将信件投递给对应的服务器,这是通过DNS服务实现的.例如一封邮件的目标地址是xxx@ ...

  4. java邮件发送失败smtp.exmail.qq.com:25

    1.com.sun.mail.smtp.SMTPSendFailedException: 501 ÇëµÇ¼exmail.qq.comÐÞ¸ÄÃÜÂë 可能是email.send.server配置错 ...

  5. 上云发送邮件报 Could‘t connect to host,port: smtp.exmail.qq.com,25; timout -1解决方式

    上云后的应用发邮件报异常,直接输出异常.处理方式.配置如下: 需要将原端口25修改为465方式 配置修改如下

  6. 解决问题:javax.mail.MessagingException: Could not connect to SMTP host: smtp.exmail.qq.com, port: 25;

    最近项目中需要用到发送邮件这一功能,总是遇到这样的一个报错: javax.mail.MessagingException: Could not connect to SMTP host: smtp.e ...

  7. 微信企业邮箱服务器配置错误,解决腾讯企业邮箱smtp.exmail.qq.com发邮件错误

    在程序开发中经常会用到php发电子邮件,在腾讯申请了企业邮箱后,一直用得好好的.不过好像最近腾讯企业邮箱升级更新了,用smtp服务器一发邮件就提示"Cannot connenct to re ...

  8. 记录一下使用腾讯企业邮箱的坑Sending the email to the following server failed : smtp.exmail.qq.com:465

    使用springmvc 使用的是HtmlEmail类 mail.smtp.host=smtp.exmail.qq.com mail.smtp.port=587 mail.smtp.from=*@.co ...

  9. 邮件设置 ssl://smtp.exmail.qq.com:465 can not connect to the SMTP server

    ssl://smtp.exmail.qq.com:465 can not connect to the SMTP server 检查服务器端口已经开启,服务器防火墙是关闭的,检查OpenSSL是否开 ...

最新文章

  1. 转盘抽奖php,使用PHP实现转盘抽奖算法案例解析
  2. 心理正常与异常的区分_心理正常与心理异常的区别是什么呢
  3. zuul路由前缀配置
  4. 网络安全:图片防盗链的实现原理
  5. java函数式编程 map_函数式编程-对Java 8流进行分区
  6. Java jxl在excel模板中动态加入数据,及前端下载excel的例子
  7. UML学习总结(2)——StartUML 各种类图的例子
  8. Codeforces 754A(搜索)
  9. c语言中end4,C语言编程,第四题
  10. 飞利浦DR与PACS进行worklist多部位登记方法分享
  11. LIVE MINI ESP32开发板教程系列(四)NeoPixel + ws2812b实现炫彩显示
  12. Spring Bean作用域 (面试题)
  13. 金蝶商贸版,后台修改序时簿过滤条件
  14. java中导入自定义类_导入自定义Java类
  15. Java 的大 Class 到底是什么?,java高级程序员面试笔试宝典蔡羽
  16. 用java生成二维码
  17. WoShop跨境电商USDT支付语言插件全开源无加密商城源码
  18. 关抢占 自旋锁_也说自旋锁
  19. 为什么需要 Mini-batch 梯度下降,及 TensorFlow 应用举例
  20. 水至清则无鱼,人至察则无徒

热门文章

  1. 闰年判断(C#基础)
  2. 分享一个开源微信小程序+公众号商城后台管理系统
  3. 《Flutter 控件大全》第六十八个:Positioned
  4. 哀悼!旷视首席科学家孙剑博士突然离世,终年45岁
  5. 关于uniapp使用form,获取formid
  6. SQLServer附加数据库5120错误
  7. topaz sharpen ai2直装版(图像锐化工具) v2.1.8
  8. 三星p1000升级android10,三星 P1000 CM团队13.09.01定制 CM10.1 纯净版刷机包
  9. 3D建模入坑(Solidworks)
  10. 企业内部应用接入钉钉获取部门及人员信息