参考了:
- https://stackoverflow.com/questions/67899129
- https://stackoverflow.com/questions/68591048
- https://blog.csdn.net/qq_23864697/article/details/80183854
邮件发送的基础 Jar 依赖的选择
javax.mail 这个包呢,搜出的贴子基本都是 1.4.7 这个版本,实际上应该使用最新 1.6.2,这绝对没有坏处。
1.4.7 基于不同的操作系统和 JDK 版本,表现出了大量的:
"No appropriate protocol (protocol is disabled or cipher suites are inappropriate)"
大家给出的解决方案五花八门,我优先选择的使用最新的版本 1.6.2 解决的。
Maven坐标
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
groupId 也是有两个 javax.mail 和 com.sun.mail
我使用的是中央仓库搜出来的地址,具体可以看这里
https://mvnrepository.com/artifact/com.sun.mail/javax.mail/1.6.2
邮件发送的一些注意点
发送邮件用的是SMTP协议。
邮箱服务器(比如网易邮箱,Outlook)的地址、端口、邮箱、密码、加密方式这些信息需要自行获取。
发件人昵称是如何配置的?
from 字段应该这样写(遵循 RFC-822 标准):
String from = "Nickname<yourEmail@xx.com>";
邮件发送需要放行 25 或 465 端口入站规则吗?
调试的时候搜到不少帖服务器上发送失败,解决 BUG 方案是开放端口,我觉得就是扯蛋,只是发送个邮件而已,发送邮箱走的 Socket 协议,应该是服务器端才需要开入站规则,国内你想自己搭建邮件服务可不容易。 实在搞不懂为啥觉得打开端口就行。
本文由 考拉 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Aug 27,2023