阿里云默认禁用25端口号
可以开启ssl 使用465端口
1、保证安全组加入465端口
2、163邮箱设置客户端授权码
3、使用hutool工具类
https://hutool.cn/docs/#/extra/邮件工具-MailUtil
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.0.6</version>
</dependency>
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version>
</dependency>
邮件服务器配置
在classpath(在标准Maven项目中为src/main/resources
)的config目录下新建mail.setting
文件,最小配置内容如下,在此配置下,smtp服务器和用户名都将通过from
参数识别:
使用SSL加密方式发送邮件 在使用QQ或Gmail邮箱时,需要强制开启SSL支持,此时我们只需修改配置文件即可:
# 发件人(必须正确,否则发送失败),“小磊”可以任意变更,<>内的地址必须唯一,以下方式也对 # from = hutool@yeah.net from = 小磊<hutool@yeah.net> # 密码(注意,某些邮箱需要为SMTP服务单独设置密码,详情查看相关帮助) pass = q1w2e3 # 使用SSL安全连接 sslEnable = true
MailUtil.send("hutool@foxmail.com", "测试", "邮件来自Hutool测试", false);
搞定!
这里还有一个更重要的问题,那就是自己搭建类似于 postfix 的邮件服务,即便是走 465 的 SSL 仍然也无法实现。貌似这个 465 的 SSL 只作用于邮件发送客户端与邮件服务器之间的通道, 而不能能作用于邮件服务器之间的通信。 还未验证,希望有这方面经历的同学可以来分享
自己搭邮件服务器还是要方便些,没有发送数量的限制