来源:7DGroup
作/译者:左泽位
引言
一般我们在做接口自动化时,都会通过钉钉或者邮件的方式通知测试结果信息。而且基本上邮件的内容都是测试报告。所以,今天就来讲讲如何利用 pring提供的 JavaMailSender接口,实现邮件发送功能。
背景
讲解前,我们先来简单了解下相关邮件知识。最早期的时候我们会使用 JavaMail相关 api来写发送邮件的相关代码,后来spring推出了 JavaMailSender更加简化了邮件发送的过程,在之后 springboot对此进行了封装就有了现在的 spring-boot-starter-mail,本文的介绍主要来自于此包。
JavaMail介绍
JavaMail是由 Sun定义的一套收发电子邮件的 API,不同的厂商可以提供自己的实现类。但它并没有包含在 JDK中,而是作为 JavaEE的一部分。而 JavaMailSender底层也是基于 JavaMailjar包的。
邮件通信协议
SMTP:简单邮件传输协议,用于发送电子邮件的传输协议;
POP3:用于接收电子邮件的标准协议;
IMAP:互联网消息协议,是POP3的替代协议。
这三种协议都有对应 SSL加密传输的协议,分别是 SMTPS, POP3S和 IMAPS。除 JavaMail服务提供程序之外, JavaMail还需要 JAF( JavaBeansActivationFramework)来处理不是纯文本的邮件内容,这包括 MIME(多用途互联网邮件扩展)、 URL页面和文件附件等内容
JavaMail关键对象
Properties:属性对象。针对不同的的邮件协议, JavaMail规定了服务提供者必须支持一系列属性。