{{ v.name }}
{{ v.cls }}类
{{ v.price }} ¥{{ v.price }}
主要是看一下springboot中发送邮件的方法,至于拦截springboot全局异常之前的文章中有。
在springboot中发送邮件非常简单。
pom.xml引入maven依赖
spring:mail:host:smtp.qq.comusername:27255xxxx@qq.compassword:njcvcbdkrofgbhieproperties:mail:smtp:auth:truestarttls:enable:truerequired:true这个username就是未来发信时的邮箱地址,password是授权码。
这里以普通qq邮箱为例,注意password不是qq密码,而是授权码。
在qq邮箱-设置-账户,找到图片中的地方,开启imap/smtp服务,开启后才能在别的客户端使用该qq邮箱发邮件,然后生成授权码,填写到application.yml的password位置。
然后就可以使用该邮箱作为发件人了。
看一下发邮件的具体代码,参考http://blog.csdn.net/clementad/article/details/51833416
packagecom.tianyalei.testmail.service;importorg.slf4j.logger;importorg.slf4j.loggerfactory;importorg.springframework.beans.factory.annotation.autowired;importorg.springframework.beans.factory.annotation.value;importorg.springframework.core.io.filesystemresource;importorg.springframework.mail.simplemailmessage;importorg.springframework.mail.javamail.javamailsender;importorg.springframework.mail.javamail.mimemessagehelper;importorg.springframework.stereotype.service;importjavax.mail.messagingexception;importjavax.mail.internet.mimemessage;importjava.io.file;@servicepublicclassmailservice{privatefinalloggerlogger=loggerfactory.getlogger(this.getclass());@autowiredprivatejavamailsendersender;@value("${spring.mail.username}")privatestringfrom;/***发送纯文本的简单邮件*@paramto*@paramsubject*@paramcontent*/publicvoidsendsimplemail(stringto,stringsubject,stringcontent){simplemailmessagemessage=newsimplemailmessage();message.setfrom(from);message.setto(to);message.setsubject(subject);message.settext(content);try{sender.send(message);logger.info("简单邮件已经发送。");}catch(exceptione){logger.error("发送简单邮件时发生异常!",e);}}/***发送html格式的邮件*@paramto*@paramsubject*@paramcontent*/publicvoidsendhtmlmail(stringto,stringsubject,stringcontent){mimemessagemessage=sender.createmimemessage();try{//true表示需要创建一个multipartmessagemimemessagehelperhelper=newmimemessagehelper(message,true);helper.setfrom(from);helper.setto(to);helper.setsubject(subject);helper.settext(content,true);sender.send(message);logger.info("html邮件已经发送。");}catch(messagingexceptione){logger.error("发送html邮件时发生异常!",e);}}/***发送带附件的邮件*@paramto*@paramsubject*@paramcontent*@paramfilepath*/publicvoidsendattachmentsmail(stringto,stringsubject,stringcontent,stringfilepath){mimemessagemessage=sender.createmimemessage();try{//true表示需要创建一个multipartmessagemimemessagehelperhelper=newmimemessagehelper(message,true);helper.setfrom(from);helper.setto(to);helper.setsubject(subject);helper.settext(content,true);filesystemresourcefile=newfilesystemresource(newfile(filepath));stringfilename=filepath.substring(filepath.lastindexof(file.separator));helper.addattachment(filename,file);sender.send(message);logger.info("带附件的邮件已经发送。");}catch(messagingexceptione){logger.error("发送带附件的邮件时发生异常!",e);}}/***发送嵌入静态资源(一般是图片)的邮件*@paramto*@paramsubject*@paramcontent邮件内容,需要包括一个静态资源的id,比如:
可以先写个简单的测试类,调用
mailservice.sendsimplemail("wuweifeng@xxx.com","主题:简单邮件","测试邮件内容");填写个收信人的地址就ok了。然后就能收到邮件了。收信人可以有多个,通过simplemailmessage可以看到。二拦截全局异常并发邮件