前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spring-boot-starter-mail 的简单使用

spring-boot-starter-mail 的简单使用

作者头像
京剧猫
发布2023-03-04 11:28:20
4870
发布2023-03-04 11:28:20
举报
文章被收录于专栏:Pixel Fandom

首先需要在 pom 文件中导入相应的依赖:

代码语言:javascript
复制
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-mail</artifactId>
     </dependency>

随后需要在 application.yml中进行 mail 相关属性的配置,如下所示:

代码语言:javascript
复制
  mail:
   host: smtp.exmail.qq.com #以腾讯企业邮箱为例,具体的 host 地址可以在相应的邮箱设置中找到,需要的是发送协议smtp
   username: your@email.com #需要发送邮件的邮箱登录名
   password: yourPasscodeHere #注意这里需要的是在相应邮箱服务中得到的授权码而不是邮箱的密码
   default-encoding: UTF-8 #编码格式
   port: 465 #发送端口地址,同样在邮箱设置中查找
   properties:
       mail:
           smtp:
               auth: true
               starttls:
                   enable: true
                   required: true
               socketFactory:
                   port: 465
                   class: javax.net.ssl.SSLSocketFactory

编写测试用例 ```java import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.util.StringUtils;

@SpringBootTest class ApplicationTests {

代码语言:javascript
复制
@Value("${spring.mail.username}")
private String sendMail;

@Autowired
private JavaMailSender javaMailSender;

public String sendSimpleMsg(String msg, String receiveMail) {

    if (StringUtils.isEmpty(msg))  {
        return "请输入消息内容";
    } else if (StringUtils.isEmpty(receiveMail)){
        return "请输入目标邮箱";
    } else if (!receiveMail.contains("@")) {
        return "请输入正确的邮箱";
    }

    try {
        SimpleMailMessage mail = new SimpleMailMessage();
        mail.setFrom(sendMail);
        mail.setTo(receiveMail);
        mail.setSubject("测试邮件内容...");
        mail.setText(msg);
        javaMailSender.send(mail);
        return "发送成功";
    } catch (Exception e) {
        e.printStackTrace();
        return "发送失败";
    }
}

@Test
void contextLoads() {
    sendSimpleMsg("测试邮件", "receive@mail.com");
}

}

代码语言:javascript
复制
**注:** 在这里需要实例化一个 ``SimpleMailMessage``对象对邮件进行设置,源代码表明可以对如下内容进行设置:
```java
    @Nullable
    private String from; #发送人
    @Nullable
    private String replyTo; #回复人
    @Nullable
    private String[] to; #接收人列表
    @Nullable
    private String[] cc; #副本抄送对象(carbon copy),抄送对象间可知
    @Nullable
    private String[] bcc; #暗抄送对象(blind carbon copy),暗抄送对象间不可知
    @Nullable
    private Date sentDate; #发送日期
    @Nullable
    private String subject; #邮件主题
    @Nullable
    private String text; #邮件内容
  1. 最后运行测试用例,便可以在设置的接收邮箱中收到测试邮件了
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/12/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯企业邮
腾讯企业邮(Tencent Exmail)是腾讯基于多年海量用户邮件系统研发和运营经验,为企业量身订造的一套办公用邮箱系统。稳定、简洁和快速,整合了丰富的企业应用,涵盖资源共享、消息发布、组织管理等方面。腾讯企业邮和微信生态深度整合,为您提供便捷高效的移动邮件解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档