关于common-email 发送邮件失败问题!!!

1.首先说明一下场景:

邮件服务器为:腾讯的企业邮箱服务器,

有文档说明:http://service.exmail.qq.com/cgi-bin/help?id=28&no=1000585&subtype=1

POP3/SMTP协议
接收邮件服务器:pop.exmail.qq.com ,使用SSL,端口号995
发送邮件服务器:smtp.exmail.qq.com ,使用SSL,端口号465
海外用户可使用以下服务器
接收邮件服务器:hwpop.exmail.qq.com ,使用SSL,端口号995
发送邮件服务器:hwsmtp.exmail.qq.com ,使用SSL,端口号465

发件箱/收件箱同为注册的企业邮箱账号:yh@abrasivesyh.com

账号已开通可以正常使用无任何问题。另注:



上面说明的是场景。

开发在WIN下本地开发测试,上传到腾讯云服务器部署。

下面说测试代码:

public static void sendHTMLMail(MailInfoNode mailInfoNode) throws EmailException {
try {
HtmlEmail email = new HtmlEmail();
// 配置信息
email.setHostName(“smtp.exmail.qq.com”);
email.setFrom("yh@abrasivesyh.com", "yh");
email.setAuthentication(“发件箱用户名”,“发件箱用户对应密码”);
email.setCharset(“utf-8”);
email.setSubject("测试一下");
email.setHtmlMsg("内容:<h1>测试内容</h1>");
// 收件人
email.addTo("yh@abrasivesyh.com");
email.send();
System.out.println("邮件发送成功!");
System.out.println(email.getSmtpPort());
} catch (EmailException e) {
System.out.println("邮件发送失败!");
throw e;
}

}

相关jar引入后,本地执行执行上面代码,无任何问题!注意看输入的端口是25,可以确定默认是25端口发送。将代码部署到云服务器上,执行报:

org.apache.commons.mail.EmailException: Sending theemail to the following server failed : smtp.exmail.qq.com:25 

atorg.apache.commons.mail.Email.sendMimeMessage(Email.java:1138) 

atorg.apache.commons.mail.Email.send(Email.java:1163) 

atcom.newer.servlet.EmailServlet.doPost(EmailServlet.java:45) 

.....

可以发现是连接25端口失败,下面还有个连接超时。这说明25端口存在问题。经网上查找:



将端口号改为:465,添加如下代码:

email.setSmtpPort(465);

本地测试:


服务器同样错误!!!!

添加如下代码:

email.setSSLOnConnect(true);

本地执行:


服务器执行同样成功!!


问题总结:

1.邮件发送部署在云服务器上时,不要使用默认的端口(25),一般默认是禁掉的,除非解禁。通常改为465端口。

2.如果使用465端口,一定要采用SSL加密方式,否则同样失败。email.setSSLOnConnect(true);

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值