利用hutool配置发送邮件的问题 及 阿里企业邮箱526 Authentication failure 错误问题
hutool 中发送邮件的配置的比较简单。可以参考hutool 官方的教程。
个人尝试了qq邮箱发送邮件 和 阿里企业邮箱发送邮件。
主要是配置不一样:
一、qq邮箱
qq邮箱 我的邮箱配置是:
# 邮件服务器的SMTP地址,可选,默认为smtp.<发件人邮箱后缀>
host = smtp.qq.com
# 邮件服务器的SMTP端口,可选,默认25 .qq邮箱用465
port = 465
# 发件人(必须正确,否则发送失败)
from = 213xxxxxyyyy@qq.com
# 用户名,默认为发件人邮箱前缀
user = 213xxxxxxyyyy
# 密码(注意,某些邮箱需要为SMTP服务单独设置授权码,详情查看相关帮助),qq邮箱需要去自己邮箱里设置这个授权码(不是qq邮箱的密码),可以搜索一下网上教程.
pass = psabcdetbdacegda
# 使用SSL安全连接 ; 在使用QQ或Gmail邮箱时,需要强制开启SSL支持
sslEnable = true
难点:qq邮箱设置授权码的地方:登录qq邮箱-》设置-账户-》如下图:
2. 说是qq邮箱必须要开启SSL安全(sslEnable = true),端口必须用465.
二、阿里企业邮箱
阿里企业邮箱 。例如我的 阿里企业邮箱是 mail.testmymail.com
参考网上配置,host可以用:smtp.mxhichina.com ,也可以用 smtp.testmymail.com
端口号 可以用25(普通,sslEnable不要配置为true,否则报错Could not connect to SMTP host: smtp.mxhichina.com, port: 25),也可用465(安全,需要sslEnable = true)
https://help.aliyun.com/knowledge_detail/36576.html?spm=a2c4g.11186631.2.3.616544fdZE9S19
但是我一直报错 526 Authentication failure ,提示用户名 或者密码不对,折腾了好久,最后发现:
user 配置需要和 from配置一样,例如我的邮箱是 zhangsan@testmymail.com
配置如下:
# 邮件服务器的SMTP地址,可选,默认为smtp.<发件人邮箱后缀>
# 阿里企业邮箱 smtp.mxhichina.com 或者自己的 smtp.testmymail.com
host = smtp.mxhichina.com
# 邮件服务器的SMTP端口,可选,默认25 ,ssl安全的用465
port = 465
# 发件人(必须正确,否则发送失败)
from = zhangsan@testmymail.com
# 用户名,默认为发件人邮箱前缀
#user = zhangsan #这样配置就会报错 526 Authentication failure 。 如果不配置这个user,hutool默认取from前缀,还是会报错。
#阿里企业邮箱,这个user需要配置和from一样。
user = zhangsan@testmymail.com
# 密码(注意,某些邮箱需要为SMTP服务单独设置授权码,详情查看相关帮助)
#阿里企业邮箱,这个密码就是自己的邮箱密码
pass = A1232019
# 使用SSL安全连接 ; 在使用QQ或Gmail邮箱时,需要强制开启SSL支持. 阿里企业邮箱 port=465时需要sslEnable=true
sslEnable = true
ps:网上有些博客说 阿里企业邮箱发送失败,需要把smtp服务权限打开之类的,或者登陆什么阿里云买邮箱的那个控制台改什么配置,什么postmaster管理员怎么管理之类的,我都试过,都找过,都没有smtp相关的配置,
阿里企业邮箱smtp应该是默认打开的。
还有说用企业邮箱管理员账号 postmaster@testmymail.com 不能发邮件的,我也测试了一下,postmaster是可以发的。