如何利用 Spring Email 发送邮件

多线程大师
• 阅读 2410

一.启用客户端STMP服务

添加发送邮件功能,需要指定发送邮件的email地址
以QQ邮箱为例,展示如何开启 STMP 服务,以授权邮箱可作为发送方发送邮件

如何利用 Spring Email 发送邮件

设置->账户目录下,**开启STMP服务,并生成授权码**

二.配置spring Email

  • 1.导入jar包

     <dependency\>  
            <groupId\>org.springframework.boot</groupId\>  
            <artifactId\>spring-boot-starter-mail</artifactId\>  
            <version\>2.1.6.RELEASE</version\>  
     </dependency\>
  • 2.配置邮箱参数

    在application.properties中配置:
     ```
     //主机号
     spring.mail.host\=smtp.qq.com
     //端口号  
     spring.mail.port\=465
     //email账号  
     spring.mail.username\=371568309@qq.com
     //密码(授权码)  
     spring.mail.password\=nezhkkcjfvqsbhdd
     //支持协议  
     spring.mail.protocol\=smtps
     //采用ssl安全连接  
     spring.mail.properties.mail.smtp.ssl.enable\=true
     ```
    
  • 3.编写MailClient工具类

    @Component  
    public class MailClient {  
    
        private static final Logger logger \= LoggerFactory.getLogger(MailClient.class);  
    
        @Autowired  
      private JavaMailSender mailSender;  
    
        @Value("${spring.mail.username}")  
        private String from;  
    
        /\*\*  
     \* 发送邮件方法  
      \* @param to 发给谁  
      \* @param subject 邮件标题  
      \* @param context 邮件内容  
      \*/  
      public void sendMail(String to, String subject, String context){  
            try{  
                //构建邮件发送对象  
      MimeMessage message = mailSender.createMimeMessage();  
                MimeMessageHelper helper = new MimeMessageHelper(message);  
                helper.setFrom(from);  
                helper.setTo(to);  
                helper.setSubject(subject);  
                helper.setText(context, true);//支持html格式  
      //发送邮件  
      mailSender.send(helper.getMimeMessage());  
            }catch (Exception e){  
                logger.error("发送邮件失败:"+e.getMessage());  
            }  
    
        }  
    
    }

三.发送邮件

@Autowired  
private MailClient mailClient;  

@Autowired  
private TemplateEngine templateEngine;//spring boot内置的模板引擎,调用thymeleaf  

@Test  
public void testTextMail(){  
    mailClient.sendMail("371568309@qq.com","TEST","你好");  
}  

@Test  
public void testHtmlMail(){  
    //创建内容name--value  
  Context context = new Context();  
    context.setVariable("username","219");  
    //绑定模板和内容  
  String content = templateEngine.process("/mail/demo", context);  

    mailClient.sendMail("371568309@qq.com","TEST",content);  
}
点赞
收藏
评论区
推荐文章
菜鸟阿都 菜鸟阿都
4年前
python实现邮件发送
前言使用python的第三方库yagmail实现邮件发送的功能yagmail官网文档:第一步:申请一个邮箱作为发送邮箱此处以网易邮箱为例,因为使用python代码实现邮件的发送,需要开启邮箱的授权密码功能,用生成的授权密码作为发送邮件的密码,以下步骤为开启网易邮箱的授权密码功能。第二步:安装yagmail库languagepipinstally
Irene181 Irene181
4年前
最全总结!聊聊 Python 发送邮件的几种方式
1\.前言邮件,作为最正式规范的沟通方式,在日常办公过程中经常被用到我们都知道Python内置了对SMTP的支持,可以发送纯文本、富文本、HTML等格式的邮件本文将聊聊利用 Python发送邮件的3种方式2\.准备以126邮箱为例,在编码之前,我们需要开启SMTP服务然后,手动新增一个授权码其中,账号、授权码和服务器地址用于连接登录
Wesley13 Wesley13
4年前
javamail发送邮件(简单邮件qq邮箱)
/\\<dependency<groupIdcom.sun.mail</groupId<artifactIdjavax.mail</artifactId<version1.5.4</version</dependency\//\上面是maven需要添加的依赖\/p
Irene181 Irene181
4年前
最全总结!聊聊 Python 发送邮件的几种方式
1\.前言邮件,作为最正式规范的沟通方式,在日常办公过程中经常被用到我们都知道Python内置了对SMTP的支持,可以发送纯文本、富文本、HTML等格式的邮件本文将聊聊利用 Python发送邮件的3种方式2\.准备以126邮箱为例,在编码之前,我们需要开启SMTP服务然后,手动新增一个授权码其中,账号、授权码和服务器地址用于连接登录
徐小夕 徐小夕
4年前
如何使用nodejs自动发送邮件?
之前用Nodejs做了很多服务端模块,最近抽空复盘一下,接下来笔者将介绍如何使用Nodejs来自动向用户发送邮件.笔者将详细介绍自动发送邮箱的实现方案,以及通过一个实际的案例来带大家掌握使用nodejs自动发送邮件,最后会介绍一些实际的应用场景,来加深对该方案的理解,达到学以致用的目的.实现方案实现自动发送邮件笔者采用了基于Nod
Stella981 Stella981
4年前
MediaWiki 设置QQ邮箱SMTP(SSl方式)发送邮件
MediaWiki默认采用本机作为邮件发送服务器,而发出去的邮件很容易被接收方当成垃圾邮件或者直接被屏蔽掉,所以建议直接采用第三方smtp服务器,以腾讯企业邮箱为例:安装需要的库PHP7使用composer安装依赖库composerrequireupdatenodevpear/mailpear/net_smt
Easter79 Easter79
4年前
SpringBoot入门 (十) 发送邮件
本文记录学习在SpringBoot中发送邮件。一邮件发送过程发送邮件是一个我们在项目中经常会用到的功能,如在用户注册时发送验证码,账户激活等都会用到。完整的一个邮件发送过程主要包含以下几个步骤:1发件人在用户邮件代理上写邮件内容及收件人的邮箱地址;2用户邮件代理根据发件人填写的邮件信息,生成一封符合邮件格式的邮件;
Stella981 Stella981
4年前
Spring Boot demo系列(七):邮件服务
2021.2.24更新1概述SpringBoot整合邮件服务,包括发送普通的文本邮件以及带附件的邮件。2邮箱选择这里选择的是QQ邮箱作为发送的邮箱,当然也可以选择其他的邮箱,只是具体的配置不一样。使用QQ邮箱的话,需要在个人设置中开启SMTP服务:!在这里插入
Stella981 Stella981
4年前
CentOS7.x Mailx 发送邮件
::纯真干货,不罗嗦1.判断是否有mailx用mailv若有则证明有mail输入quit退出即可,若没有安装mailx,yuminstallmailx。2.获取授权码,通过要发送的STMP邮箱设置内获取授权码用于发送邮件3.vim/etc/mail.rc增加\codelanager"shell"\set
Stella981 Stella981
4年前
SpringBoot入门 (十) 发送邮件
本文记录学习在SpringBoot中发送邮件。一邮件发送过程发送邮件是一个我们在项目中经常会用到的功能,如在用户注册时发送验证码,账户激活等都会用到。完整的一个邮件发送过程主要包含以下几个步骤:1发件人在用户邮件代理上写邮件内容及收件人的邮箱地址;2用户邮件代理根据发件人填写的邮件信息,生成一封符合邮件格式的邮件;
把帆帆喂饱 把帆帆喂饱
3年前
Springboot整合Redis实现邮箱验证码
Springboot整合Redis实现邮箱验证码开启邮箱服务打开https://mail.qq.com/登录你自己的qq账号选择账户点击开启STMP服务:发送短信:发送完,点击我已发送,然后得到密码:Springboot配置邮箱pom依赖xmlorg.sp
多线程大师
多线程大师
Lv1
长江悲已滞,万里念将归。
文章
3
粉丝
0
获赞
0