阿里云ECS服务禁用25端口导致邮件发送失败

createh53周前 (12-15)技术教程22

报错信息:MailConnectException: Couldn't connect to host, port: smtp.mxhichina.com, 25

解决方案网上查询共两种方案,博主使用的第二种。

方案1

向aliyun提交申请,解封25端口,需要3-5天。

该方案未经过验证,申请解封地址:https://help.aliyun.com/knowledge_detail/56130.html

方案2

放弃25端口,使用ssl加密并改用465端口。

该方案经过了博主验证

1、apache commons-email中使用方法如下:

//启用ssl加密
email.setSSLOnConnect(true);
//使用465端口(不设置也可,ssl默认为465)
email.setSslSmtpPort("465");

2、JavaMail使用ssl加密465端口发送邮件

主要是在原来发送邮件的配置上添加ssl,并设置为465端口。

Properties javaMailProperties = new Properties();
javaMailProperties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
javaMailProperties.setProperty("mail.smtp.socketFactory.port", "465");
javaMailProperties.setProperty("mail.smtp.port", "465");

使用spring配置如下:

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
   <property name="host" value="${mail.host}"/>
   <property name="username" value="${mail.username}"></property>
       <property name="password" value="${mail.password}"></property>
   <property name="javaMailProperties">
      <props>
         <prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
         <prop key="mail.smtp.socketFactory.port">465</prop>
         <prop key="mail.smtp.port">465</prop>
      </props>
   </property>
</bean>

相关文章

100个Java工具类之15:免费发送邮件

该系列为java工具类系列,主要展示100个常用的java工具类。本系列工具类的核心目的主要有三点:1,以便他用:提供可用的Java工具类,方便大家使用,避免重复造轮子2,个人记录:作为个人记录,同时...

Spring Boot集成Spring Email发送邮件

引言在当今数字化时代,电子邮件仍然是重要的沟通工具之一。在使用Spring Boot框架开发应用程序时,有时需要集成邮件发送功能,以便在用户注册、找回密码、接收通知等场景中向用户发送邮件。本文将介绍如...

Linux中用postfix搭建邮件服务器实战详解

写在前面:自建邮件服务器发出的邮件有很大概率会被各大邮件服务商列入垃圾邮件箱中,我在搭建过程中发现在设置了dkim spf 等操作后,国内邮件基本可以正常发到收件箱,但 google 邮箱貌似还是会进...

惊!零日漏洞再现 这次中枪的竟是Java

2015-07-15 05:11:00 作者:鲁畅又一零日漏洞被发现!这次所中枪的软件竟然是:Java。"零日漏洞"(zero-day)又叫零时差攻击,是指被发现后立即被恶意利用的安全漏洞。通俗地讲,...

Vue3问题:如何实现拼图验证+邮箱登录功能?前后端!

前端功能问题系列文章,点击上方合集↑序言大家好,我是大澈!本文约3500+字,整篇阅读大约需要5分钟。本文主要内容分三部分,第一部分是需求分析,第二部分是实现步骤,第三部分是问题详解。如果您只需要解决...

HTML DOM Input Email 对象

Input Email 对象 Input Email 对象是 HTML5 新增的。Input DatetimeLocal 对象表示使用 type="email" 的 HTML <input&...