邮件功能本地正常,云服务器报错
2023-04-18 16:51:23 时间
问题:使用javax.mail发送邮件,本地测试一切正常,部署到云服务器就没有响应,显示连接超时,查看错误日志,分析原因为各大服务器厂商为了防范垃圾邮件,屏蔽了25端口,而且由于响应时间默认无限,导致请求超时也没有回复
解决方案:
1.申请企业邮箱,支持使用域名发送邮件
2.向云服务器申请解封25端口
3.改用465端口SSL加密发送
我是用的就是改用465端口
//之所以不报错,是因为默认的超时时间无限制,所以会一直卡在连接中。加入下面配置,设置超时时间,可以触发报错。
//连接时间限制,单位毫秒。是关于与邮件服务器建立连接的时间长短的。默认是无限制。
props.setProperty("mail.smtp.connectiontimeout", "5000");
//邮件接收时间限制,单位毫秒。这个是有关邮件接收时间长短。默认是无限制。
props.setProperty("mail.smtp.timeout", "5000");
//邮件发送时间限制,单位毫秒。邮件附加上传的时间长短。默认同样是无限制
props.setProperty("mail.smtp.writetimeout", "5000");
//由于25端口被禁用.改用465端口,走邮件的SSL协议
props.setProperty("mail.port", "465");
props.setProperty("mail.smtp.auth","true");
props.setProperty("mail.smtp.starttls.enable","true");
props.setProperty("mail.smtp.starttls.required","true");
props.setProperty("mail.smtp.socketFactory.port","465");
props.setProperty("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.smtp.socketFactory.fallback","false");
PS:邮件内容尽量使用css解决样式问题,不要插入图片,各个浏览器之间对图片的限制会导致邮件图片不显示,影响邮件阅读体验
相关文章
- 成功解决主从同步异常之Slave_IO_Running显示为No的问题
- 重载运算符操作说明(一)
- 二、物理层
- 简单三步解决动态规划难题,记好这三步,动态规划就不难
- ArcGIS: 如何利用模型构建器(modelbuilder)进行植被指数情况的统计?
- 探索Spring Cloud-SpringCloud与RPC
- 西西弗的神话告诉了我们终其一生最重要的是什么!!!
- 2013-03-18干活小计
- Ribbon本地负载均衡客户端 VS Nginx服务端负载均衡 以及 远程调用
- 学习笔记20230318
- leetcode 1911 最大子序列交替和
- 实战打靶集锦-011-bbs-cute
- OWIN+ASP.NET Web API
- AndroidServices-Debug
- VMware三种网络模式|Linux虚拟机的网络配置|同一网段下无法访问另一台电脑中的虚拟机|DHCP是什么
- Activity生命周期完成EvenetLog回调
- 自然语言处理(四): Part of Speech Tagging
- mysql innodb中的锁
- P6专题:聊聊项目的几种状态类型
- 基于鲸鱼算法优化支持向量机SVM的分类预测,基于WOA-SVM的光谱分类