发布时间:2020-04-24作者:laosun阅读(3551)
阿里云ECS服务禁用25端口导致邮件发送失败
本站博客升级新服务器,忽略了阿里云ECS安全配置,默认关闭发送邮件的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>
版权属于: 技术客
原文地址: https://www.sunjs.com/article/detail/0545352856d14cca81aa7e33e4b39ff3.html
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。