Spring Email实现邮件发送功能
(本篇内容是博主在学习“牛客社区”这个项目时的笔记整理,为了方便自己以后查看,希望也能帮助到其他人。若有不恰当的地方还望指正~)
目录
1. 新建邮件客户端类 MailClient,用于调用JavaMailSender发送邮件
一、邮箱设置
我们将使用个人邮箱向他人发送邮件
默认情况下,不允许通过程序使用个人邮箱向他人发邮件
因此,我们需要进行相应设置
(这里拿我的网易邮箱举例)
1. 开启POP3/SMTP服务,获取授权码
点击开启后,会提示用手机发送短信来开启该服务
完成后,会得到这样的一个授权码,保存下来,我们后续配置时需要用到
二、 使用Spring Email
1. 导入jar包
在maven仓库中搜索 spring mail
选择一个版本,复制对应的Maven配置
粘贴到项目的 pom 文件中,等待Maven帮我们把jar包加载好
2. 在项目的propertites文件中写入如下配置
-
-
spring.mail.host=smtp.163.com
-
-
spring.mail.username=你的邮箱
-
spring.mail.password=刚刚我们获取的“授权码”
-
-
spring.mail.properties.mail.smtl.auth=true
-
spring.mail.properties.mail.smtp.starttls.enable=true
-
spring.mail.properties.mail.smtp.starttls.required=true
三、 通过JavaMailSender发送邮件
JavaMailSender 是 Spring Email 发送邮件的核心组件,我们通过调用它来发送邮件
1. 新建邮件客户端类 MailClient,用于调用JavaMailSender发送邮件
MailClient类代码如下:
-
-
public class MailClient {
-
//用于打印日志
-
private static final Logger logger = LoggerFactory.getLogger(MailClient.class);//用当前类做参数表明打印日志时,将使用当前类名作为开头
-
-
-
private JavaMailSender mailSender;
-
-
-
private String from; // 发件方的邮箱
-
-
//参数依次为:收件方的邮箱、邮件主题、邮件内容
-
public void sendMail(String to, String subject, String content) {
-
try {
-
MimeMessage message = mailSender.createMimeMessage();
-
//用来设置mimemessage中的内容
-
MimeMessageHelper helper = new MimeMessageHelper(message);
-
helper.setFrom(from);
-
helper.setTo(to);
-
helper.setSubject(subject);
-
helper.setText(content, true);
-
mailSender.send(helper.getMimeMessage());
-
} catch (MessagingException e) {
-
logger.error("发送邮件失败:" e.getMessage());
-
}
-
}
-
}
备注:
MimeMessage类表示邮件主体
MimeMessageHelper类的作用是:帮助我们构建MimeMessage类中的内容
完成后,就可以在其他地方注入该类并调用 sendMail() 方法来发邮件了!
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfkkigi
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13