栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

如何使用Sping.mail实现邮件发送功能并测试

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用Sping.mail实现邮件发送功能并测试

1.把邮箱的SMTP服务启动

打开之后会叫你发短信启动服务,有一个授权码 记下来 后面要用到

2.导入Jar包

搜索spring mail的jar包,

选择最新版本

把dependency中间的复制到pom.xml中

3. 配置application.properties(邮箱配置)

  • spring.mail.host

代表服务器地址

一般都会有在邮箱配置中找到。

  • spring.mail.protocl
    指定协议
    smtps 加个S代表启用的是安全的协议
  • spring.mail.properties.mail.smtp.ssl.enable = true
    代表的是采用ssl安全连接

4.启用JavaMailSender发送邮件
提示:最好封装起来 以便多次使用

@Component
//表示需要由Spring容器去管理 是通用的BEan 哪个层次都可以用
public class MailClient {
    //记录日志
    private static final Logger logger = LoggerFactory.getLogger(MailClient.class);

    @Autowired
    private JavaMailSender mailSender;

    //邮件是谁发送的 固定下来
    @Value("${spring.mail.username}")
    private String from;

    //邮件发送给谁,标题,内容
    public void sendMail(String to, String subject, String content) {
        try {
            //createMimeMessage可以创建对象
            MimeMessage message = mailSender.createMimeMessage();
            //spring给我们提供了帮助类 MimeMessageHelper 利用它就可以把邮件构建好
            MimeMessageHelper helper = new MimeMessageHelper(message);
            //传内容
            helper.setFrom(from);
            helper.setTo(to);
            helper.setSubject(subject);
            //允许支持html文本
            helper.setText(content, true);
            //发送出去
            mailSender.send(helper.getMimeMessage());
        } catch (MessagingException e) {
            //如果发生异常 就记日志
            logger.error("发送邮件失败:" + e.getMessage());
        }
    }
}

再写一个测试类测试
写一个html 引用thyme leaf模板


@RunWith(SpringRunner.class)
@SpringBootTest
@ContextConfiguration(classes = CommunityApplication.class)
public class MailTests {
    @Autowired
    private MailClient mailClient;

    @Autowired
    //注入thymeleaf模板引擎
    private TemplateEngine templateEngine;

    @Test
    public void testTextMail(){
        //调用方法
        mailClient.sendMail("XXXX@163.com","Test","welcome");

    }
    @Test
    public void testHtmlMail(){
//        thymeleaf模板引擎传参
        Context context = new Context();
        context.setVariable("username","sunday");
        String content = templateEngine.process("/mail/demo.html", context);
        System.out.println(content);
        mailClient.sendMail("XXXX@163.com","Html",content);
    }

}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/336854.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号