我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么用Spring发送电子邮件

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么用Spring发送电子邮件

小编给大家分享一下怎么用Spring发送电子邮件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Spring基于javax.mail封装了一套用于发送电子邮件的API,位于org.springframework.mail包下,下面将介绍下发送普通文本邮件和基于thymeleaf模版的邮件。

普通邮件

导入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;@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邮箱发送邮件服务器mail.host=smtp.qq.com#QQ邮箱账户名mail.username=xxxxxx@qq.com#QQ邮箱授权码,开启IMAP/SMTP服务时会生成mail.password=lrorsapyffcwbegg#邮件发送编码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();//发送带附件和内联元素的邮件需要将第二个参数设置为trueMimeMessageHelper helper = new MimeMessageHelper(message, true);//发送方邮箱,和配置文件中的mail.username要一致helper.setFrom("xxxxxx@qq.com");//接收方helper.setTo("xxxxxx@qq.com");//主题helper.setSubject("邮件测试");//邮件内容helper.setText("<html><body><img class="lazy" data-src='cid:myphoto'></body></html>", true);//邮件内容内嵌的图片,addInline中的contentId要和邮件内容中的cid相对应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发送电子邮件

基于thymeleaf模版的邮件

导入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; }

模版文件:/class="lazy" data-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服务,您正在进行邮箱验证,本次请求的验证码为: </p> <p><span th:text="${validCode}">1111</span>(为了保障您帐号的安全性,请在1小时内完成验证。)</p> <p>  XXX团队<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发送电子邮件

以上是“怎么用Spring发送电子邮件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么用Spring发送电子邮件

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么用Spring发送电子邮件

小编给大家分享一下怎么用Spring发送电子邮件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Spring基于javax.mail封装了一套用于发送电子邮件的AP
2023-06-06

python3 发送电子邮件

使用python3发送电子邮件,我之前在网上找了好几篇文章不论是都不行,最后在网上找到这篇文章了!首先在163邮箱开启授权码记住这个授权密码,我们在python代码里面用的就是这个密码不然会出现这个报错#!/usr/bin/env pyth
2023-01-31

如何使用 PHP 发送电子邮件?

在 php 中使用 swift mailer 发送电子邮件,需要安装 swift mailer、配置 smtp 服务器、创建邮件消息、创建邮件发送器,最后发送邮件。具体步骤包括:安装 swift mailer;配置 smtp 服务器;创建邮
如何使用 PHP 发送电子邮件?
2024-04-20

如何使用 PHP 发送电子邮件?

在 php 中使用 swift mailer 发送电子邮件,需要安装 swift mailer、配置 smtp 服务器、创建邮件消息、创建邮件发送器,最后发送邮件。具体步骤包括:安装 swift mailer;配置 smtp 服务器;创建邮
如何使用 PHP 发送电子邮件?
2024-04-20

在 PHP 中使用邮件表单发送电子邮件

本文将演示安装 sendmail 库并通过 PHP 邮件表单发送电子邮件。安装 sendmail 以在本地服务器上从 PHP 发送电子邮件PHP 有一个内置函数 mail() 来发送电子邮件。但是,在你安装它的库之前,此功能将不起作用。要安
在 PHP 中使用邮件表单发送电子邮件
2024-02-27

PHP怎么实现发送电子邮件功能

这篇文章主要介绍“PHP怎么实现发送电子邮件功能”,在日常操作中,相信很多人在PHP怎么实现发送电子邮件功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP怎么实现发送电子邮件功能”的疑惑有所帮助!接下来
2023-06-04

GoLang:无法发送带附件的电子邮件

php小编草莓今天给大家分享一篇关于GoLang的问题:无法发送带附件的电子邮件。在日常开发中,发送带附件的电子邮件是一个常见需求,但有时候我们会遇到一些问题。本文将介绍如何解决这个问题,帮助大家顺利发送带附件的电子邮件。我们将一步步解析问
GoLang:无法发送带附件的电子邮件
2024-02-11

用 Python 发电子邮件

本文首发于【红叶枫啦】微信公号,未经允许,不得转载。这个程序涉及两个库:smtplib 和 email。这两个库都是Python自带的,所以不需要额外的下载安装,此外,这次使用的Python版本为2.7。总体思路很简单,就像我们平常上网是通
2023-01-31

PHP 函数在发送电子邮件中的应用

php 中提供的函数简化了电子邮件发送过程,使用这些函数可以轻松执行以下操作:使用 mail() 函数发送基本电子邮件消息,需要指定收件人地址、主题和消息正文。使用 imap_open() 和 imap_mail() 函数使用 imap 连
PHP 函数在发送电子邮件中的应用
2024-04-24

如何利用yii 2框架发送电子邮件

小编给大家分享一下如何利用yii 2框架发送电子邮件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!利用yii 2框架发送电子邮件,具体步骤如下所示:1、confi
2023-06-06

如何使用asp.net c#向outlook发送电子邮件

您可以使用以下代码片段来使用ASP.NET C#向Outlook发送电子邮件:```csharpusing Microsoft.Office.Interop.Outlook;// 创建Outlook应用程序对象Application out
2023-09-27

如何使用PHP进行邮件发送?(PHP发送电子邮件的实现过程是怎样的?)

本文详细介绍使用PHP发送电子邮件的过程。首先,建立与SMTP服务器的连接并创建电子邮件消息。然后,可以使用mail()函数或PHPmailer库发送电子邮件。PHPmailer库提供了更高级的功能,如附件、HTML电子邮件和身份验证。为了提高安全性,应使用SMTP认证,设置正确的电子邮件头字段并测试电子邮件发送功能。
如何使用PHP进行邮件发送?(PHP发送电子邮件的实现过程是怎样的?)
2024-04-02

在Windows中如何创建电子邮件别名发送邮件

第1步 打开Whttp://www.cppcns.comindows Mail和lCDicJHZMI点击“工具”命令。点击“jswww.cppcns.com帐户”从下拉菜单中出现。 第2步 选
2023-05-31

怎么用Linux命令行发电子邮件

小编给大家分享一下怎么用Linux命令行发电子邮件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux 提供了几个可以让你通过终端发送电子邮件的命令,下面来展
2023-06-16

怎么用Python发送邮件

本篇内容主要讲解“怎么用Python发送邮件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python发送邮件”吧!Python使用SMTP发送邮件SMTP(Simple Mail Tra
2023-06-04

Linux下发送电子邮件的命令有哪些

本篇内容主要讲解“Linux下发送电子邮件的命令有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux下发送电子邮件的命令有哪些”吧!今天的文章里我们会讲到一些使用Linux命令行工具来
2023-06-13

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录