admin管理员组文章数量:1559699
1、技术选型
1.1、hutool工具
1.2、javax.mail
1.3、腾讯企业邮箱
2、环境准备
2.1、pom
<!--javax.mail-->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
<!--hutool 地址:https://hutool.cn -->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.2</version>
</dependency>
2.2、腾讯企业邮箱设置:
2.2.1 开启安全登录
(1)打开安全登录(需提前绑定微信)
注意:开启安全登录后需要刷新页面后用微信扫码重新登陆
(2)生成客户端专用密码
注意:设置密码后需要自行复制保存起来,否则又需要重新生成!该密码后续会用到
2.2.2 不开启安全登录
只需要有可登录密码即可,如没有或忘记密码点击上图***修改密码***按钮重置即可。
3、编码
3.1 采用配置文件
(1)pom文件中加入步骤2.1中的依赖坐标
(2)在resources目录下新建config/mail.setting文件,配置如下:
# 邮件服务器的SMTP地址,可选,默认为smtp.<发件人邮箱后缀>
host = smtp.exmail.qq.com
# 邮件服务器的SMTP端口,可选,默认25,企业邮箱中配置的为465
port = 465
# 发件人(必须正确,否则发送失败)
from = test@test.cn
# 用户名,默认为发件人邮箱前缀,如不行请回到邮箱登陆页查看登录时使用的用户名
user = test@test.cn
# 密码(注意,某些邮箱需要为SMTP服务单独设置授权码,详情查看相关帮助)
pass = testpwd
#使用 STARTTLS安全连接,STARTTLS是对纯文本通信协议的扩展。
starttlsEnable = true
(3)使用cn.hutool.extra.mail.MailUtil进行测试即可
MailUtil.send("testPhone@163","ceshi","ceshi",false);
3.2 采用纯代码模式
MailAccount account = new MailAccount();
account.setHost("smtp.exmail.qq");
account.setPort(465);
account.setAuth(true);
account.setFrom("test@test");
account.setUser("test@test");
account.setPass("testpwd");
account.setSslEnable(true);
MailUtil.send(account,"test@163","ceshi","ceshi",false);
3.3 坑
按照hutool文档说明
# 用户名,默认为发件人邮箱前缀
user = hutool
在user处配了个@前的名称,报以下错误
Caused by: javax.mail.AuthenticationFailedException: 535 Error: ÇëʹÓÃÊÚȨÂëµÇ¼¡£ÏêÇéÇë¿´: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
at com.sun.mail.smtp.SMTPTransport$Authenticator.authenticate(SMTPTransport.java:826)
at com.sun.mail.smtp.SMTPTransport.authenticate(SMTPTransport.java:761)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:685)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
at javax.mail.Transport.send(Transport.java:124)
at cn.hutool.extra.mail.Mail.doSend(Mail.java:372)
at cn.hutool.extra.mail.Mail.send(Mail.java:356)
... 5 more
乱码为控制台输出即乱码,后改为邮箱全称后方可使用
版权声明:本文标题:Java发邮件配置-hutool+腾讯企业邮箱 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1727423171a1113804.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论