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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。