久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

如何用Spring發(fā)送電子郵件

瀏覽:8日期:2023-07-22 08:23:49
簡介

Spring基于javax.mail封裝了一套用于發(fā)送電子郵件的API,位于org.springframework.mail包下,下面將介紹下發(fā)送普通文本郵件和基于thymeleaf模版的郵件。

普通郵件導(dǎo)入javax.mail依賴

<!-- ...... --><!-- 省略Spring依賴 --><dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.6.2</version></dependency>Spring配置類

@PropertySource(value='classpath:mail.properties')@Configurationpublic class SpringConfig {@AutowiredEnvironment environment;/** * Spring郵件配置 */@Beanpublic JavaMailSenderImpl javaMailSenderImpl(){JavaMailSenderImpl javaMailSenderImpl = new JavaMailSenderImpl();javaMailSenderImpl.setHost(environment.getProperty('mail.host'));javaMailSenderImpl.setUsername(environment.getProperty('mail.username'));javaMailSenderImpl.setPassword(environment.getProperty('mail.password'));javaMailSenderImpl.setDefaultEncoding(environment.getProperty('mail.encoding'));return javaMailSenderImpl;}}郵件配置:mail.properties

#QQ郵箱發(fā)送郵件服務(wù)器mail.host=smtp.qq.com#QQ郵箱賬戶名mail.username=xxxxxx@qq.com#QQ郵箱授權(quán)碼,開啟IMAP/SMTP服務(wù)時會生成mail.password=lrorsapyffcwbegg#郵件發(fā)送編碼mail.encoding=UTF-8測試

@RunWith(SpringRunner.class)@ContextConfiguration(classes=SpringConfig.class)public class MailTest {@Autowiredprivate JavaMailSenderImpl javaMailSenderImpl;@Testpublic void testSimpleMail() throws MessagingException{MimeMessage message = javaMailSenderImpl.createMimeMessage();//發(fā)送帶附件和內(nèi)聯(lián)元素的郵件需要將第二個參數(shù)設(shè)置為trueMimeMessageHelper helper = new MimeMessageHelper(message, true);//發(fā)送方郵箱,和配置文件中的mail.username要一致helper.setFrom('xxxxxx@qq.com');//接收方helper.setTo('xxxxxx@qq.com');//主題helper.setSubject('郵件測試');//郵件內(nèi)容helper.setText('<html><body><img src=’cid:myphoto’></body></html>', true);//郵件內(nèi)容內(nèi)嵌的圖片,addInline中的contentId要和郵件內(nèi)容中的cid相對應(yīng)FileSystemResource res = new FileSystemResource(new File('e:/yc/1.jpg'));helper.addInline('myphoto', res);//郵件附件FileSystemResource file = new FileSystemResource(new File('e:/yc/myphoto.zip'));helper.addAttachment('myphoto.zip', file);javaMailSenderImpl.send(message);}}

如何用Spring發(fā)送電子郵件

基于thymeleaf模版的郵件導(dǎo)入thymeleaf-spring依賴

<dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf-spring4</artifactId> <version>3.0.11.RELEASE</version></dependency>Spring配置類中添加thymeleaf模板配置

@Bean public TemplateEngine emailTemplateEngine() { SpringTemplateEngine templateEngine = new SpringTemplateEngine(); ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver(); templateResolver.setResolvablePatterns(Collections.singleton('*.html')); templateResolver.setPrefix('/templates/'); templateResolver.setSuffix('.html'); templateResolver.setTemplateMode(TemplateMode.HTML); templateResolver.setCharacterEncoding('UTF-8'); templateResolver.setCacheable(false); templateEngine.addTemplateResolver(templateResolver); return templateEngine; }模版文件:/src/main/resources/templates/msg.html

<!DOCTYPE html><html xmlns:th='http://www.thymeleaf.org'> <head> <meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /> <style type='text/css'>span{color:orange}</style> </head> <body> <p> 您好, <span th:text='${name}'>xxx</span>,感謝您使用XXX服務(wù),您正在進(jìn)行郵箱驗證,本次請求的驗證碼為: </p> <p><span th:text='${validCode}'>1111</span>(為了保障您帳號的安全性,請在1小時內(nèi)完成驗證。)</p> <p> XXX團(tuán)隊<br /> 2019年06月06日 </p> </body></html>測試

@Autowiredprivate TemplateEngine emailTemplateEngine;@Testpublic void testTemplateMail() throws MessagingException{MimeMessage message = javaMailSenderImpl.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message, true);helper.setFrom('xxxxxx@qq.com');helper.setTo('xxxxxx@qq.com');helper.setSubject('郵件測試');//thymeleaf模版解析成StringContext ctx = new Context();ctx.setVariable('name', '小姐姐');ctx.setVariable('validCode', '88888888');String htmlContent = emailTemplateEngine.process('msg.html', ctx);helper.setText(htmlContent, true);javaMailSenderImpl.send(message);}

如何用Spring發(fā)送電子郵件

以上就是如何用Spring發(fā)送電子郵件的詳細(xì)內(nèi)容,更多關(guān)于Spring發(fā)送電子郵件的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 葵青区| 本溪市| 广南县| 乐昌市| 通榆县| 新蔡县| 白银市| 墨玉县| 汉阴县| 巧家县| 信宜市| 信丰县| 本溪市| 吴川市| 榆中县| 乌拉特后旗| 大关县| 磴口县| 九龙坡区| 梁山县| 阿瓦提县| 上栗县| 曲水县| 凤山市| 高平市| 蓬莱市| 南雄市| 获嘉县| 镇坪县| 威宁| 乌海市| 吕梁市| 杭锦后旗| 上林县| 清远市| 陵川县| 铜梁县| 闻喜县| 图木舒克市| 鹤庆县| 肇源县|