前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >邮件功能本地正常,云服务器报错

邮件功能本地正常,云服务器报错

原创
作者头像
陌上云烟
发布2022-01-06 10:56:01
5.2K0
发布2022-01-06 10:56:01
举报
文章被收录于专栏:淹死那条鱼

问题:使用javax.mail发送邮件,本地测试一切正常,部署到云服务器就没有响应,显示连接超时,查看错误日志,分析原因为各大服务器厂商为了防范垃圾邮件,屏蔽了25端口,而且由于响应时间默认无限,导致请求超时也没有回复

错误日志
错误日志

解决方案:

1.申请企业邮箱,支持使用域名发送邮件

2.向云服务器申请解封25端口

3.改用465端口SSL加密发送

我是用的就是改用465端口

代码语言:javascript
复制
//之所以不报错,是因为默认的超时时间无限制,所以会一直卡在连接中。加入下面配置,设置超时时间,可以触发报错。
//连接时间限制,单位毫秒。是关于与邮件服务器建立连接的时间长短的。默认是无限制。
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解决样式问题,不要插入图片,各个浏览器之间对图片的限制会导致邮件图片不显示,影响邮件阅读体验

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题:使用javax.mail发送邮件,本地测试一切正常,部署到云服务器就没有响应,显示连接超时,查看错误日志,分析原因为各大服务器厂商为了防范垃圾邮件,屏蔽了25端口,而且由于响应时间默认无限,导致请求超时也没有回复
  • 解决方案:
  • 1.申请企业邮箱,支持使用域名发送邮件
  • 2.向云服务器申请解封25端口
  • 3.改用465端口SSL加密发送
  • 我是用的就是改用465端口
  • PS:邮件内容尽量使用css解决样式问题,不要插入图片,各个浏览器之间对图片的限制会导致邮件图片不显示,影响邮件阅读体验
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档