3.4 SpringBoot发送邮件

 

 

spring官方提供了spring-boot-starter-mail来整合邮件发送功能,本质上还是利用了JavaMailSender类。

首先我们要在项目中引入相关依赖

  1.     <parent >
  2.         <groupId> org.springframework.boot </groupId >
  3.         <artifactId> spring-boot-starter-parent </artifactId>
  4.         <version>1.4.1.RELEASE</version>
  5.     </parent >
  6.     <dependencies>
  7.         <!--邮件发送功能依赖-->
  8.         <dependency>
  9.             <groupId>org.springframework.boot</groupId>
  10.             <artifactId>spring-boot-starter-mail</artifactId>
  11.         </dependency>
  12.         <!--测试依赖-->
  13.         <dependency>
  14.             <groupId>org.springframework.boot</groupId>
  15.             <artifactId>spring-boot-starter-test</artifactId>
  16.         </dependency>
  17.     </dependencies>
  18. </project>

application.yml配置如下

  1. spring:
  2.   mail:
  3.     protocol: smtp #smtp是邮件发送协议,pop3imap是邮件接收协议。因为我们要发送邮件,因此是smtp
  4.     host: smtp.126.com #邮件发送服务器的主机,这里采用的是126邮箱来发送邮件
  5.     port: 25 #邮件发送服务器的端口
  6.     auth: true #一般情况下,发送邮件都是要进行验证
  7.     username: tianshouzhi@126.com #邮件发送服务器的用户名
  8.     password: your password #密码

新建com.tianshouzhi.springboot.Application类

  1. @SpringBootApplication
  2. public class Application {
  3.     public static void main(String[] args) {
  4.         SpringApplication.run(Application.class,args);
  5.     }
  6. }

新建测试类EmailTest

  1. @RunWith(SpringJUnit4ClassRunner. class)
  2. @SpringBootTest(classes=Application. class)
  3. public class EmailTest {
  4.     @Autowired
  5.     private JavaMailSender javaMailSender;
  6.     @Test
  7.     public void testSend(){
  8.         SimpleMailMessage message = new SimpleMailMessage();
  9.         message.setFrom("[email protected]");//发送者.
  10.         message.setTo("[email protected]");//接收者.
  11.         message.setSubject("测试邮件(邮件主题)");//邮件主题.
  12.         message.setText("这是邮件内容");//邮件内容.
  13.         javaMailSender.send(message);//发送邮件
  14.     }
  15. }

这里是通过126邮箱发送给qq邮箱。发送效果如下:

微信截图_20170611010142.png

这里列出常见的几个邮件服务器的相关信息。因为我们是发送邮件,只需要关注smtp协议即可。

163邮箱的收取邮件支持POP/IMAP两种协议,发送邮件采用SMTP协议,收件和发件均使用SSL协议来进行加密传输,采用SSL协议需要单独对帐户进行设置。采用SSL协议和非SSL协议时端口号有所区别,参照下表的一些常见配置组合:

微信截图_20170611011441.png

QQ截图20170611010830.png

QQ截图20170611010856.png

猜你喜欢

转载自www.cnblogs.com/pejsidney/p/9259767.html
3.4