Spring Boot利用Java Mail实现邮件发送
本文实例为大家分享了SpringBoot利用JavaMail实现邮件发送的具体代码,供大家参考,具体内容如下
实现邮件发送的方法有很多,这里只是简单记录一个demo实现
1.引入maven依赖
org.springframework spring-context-support 3.2.0.RELEASE javax.mail
2.配置邮箱bean信息
我的配置文件名称是application-bean.xml
我是用qq邮箱做的测试,这里需要注意的是password要配置成邮箱授权码,不是邮箱密码
简单说下邮箱授权码的获取方式:
登录网页版QQ邮箱>设置>账户,需要保证SMTP服务开启
true true 465 javax.net.ssl.SSLSocketFactory
3.加载bean配置信息
实现了一个BeanConfig类:
packagecom.amwalle.walle.bean;
importorg.springframework.context.annotation.Configuration;
importorg.springframework.context.annotation.ImportResource;
@Configuration
@ImportResource(locations={"classpath:/application-bean.xml"})
publicclassBeanConfig{
}
4.邮件发送类
简单实现了一个邮件发送的类,其中包含发送邮件方法sendMail:
packagecom.amwalle.walle.util;
importorg.slf4j.Logger;
importorg.slf4j.LoggerFactory;
importorg.springframework.mail.javamail.JavaMailSenderImpl;
importorg.springframework.mail.javamail.MimeMessageHelper;
importjavax.mail.internet.MimeMessage;
publicclassMail{
privatestaticfinalLoggerlogger=LoggerFactory.getLogger(Mail.class);
privatestaticJavaMailSenderImplmailSender;
publicstaticvoidsendMail(Stringtitle,Stringhtml,Stringto){
try{
MimeMessagemsg=mailSender.createMimeMessage();
MimeMessageHelperhelper=newMimeMessageHelper(msg,true);
helper.setFrom(mailSender.getUsername());
helper.setTo(to);
helper.setSubject(title);
helper.setText(html,true);
mailSender.send(msg);
}catch(Exceptione){
logger.error("sendMailerror",e);
}
}
publicvoidsetMailSender(JavaMailSenderImplmailSender){
Mail.mailSender=mailSender;
}
publicJavaMailSenderImplgetMailSender(){
returnmailSender;
}
}
5.测试邮件发送
调用邮件发送,检查是否发送成功:
packagecom.amwalle.walle.controller;
importcom.amwalle.walle.util.Mail;
importorg.slf4j.Logger;
importorg.slf4j.LoggerFactory;
importorg.springframework.boot.autoconfigure.EnableAutoConfiguration;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RequestMethod;
importorg.springframework.web.bind.annotation.RestController;
@RestController
@EnableAutoConfiguration
publicclassHelloWorldController{
privatestaticfinalLoggerlogger=LoggerFactory.getLogger(HelloWorldController.class);
@RequestMapping(value="/walle",method=RequestMethod.GET)
publicStringhelloWorld(){
logger.info("--------test-------");
Mail.sendMail("test","test","接收邮箱地址");
return"helloworld";
}
}
附我的工程目录,需要修改的就是圈出来的这几个:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。