zoukankan      html  css  js  c++  java
  • 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("tianshouzhi@126.com");//发送者.
    10.         message.setTo("592144098@qq.com");//接收者.
    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

  • 相关阅读:
    牛客IOI周赛17-提高组 卷积 生成函数 多项式求逆 数列通项公式
    6.3 省选模拟赛 Decompose 动态dp 树链剖分 set
    AtCoder Grand Contest 044 A Pay to Win 贪心
    5.29 省选模拟赛 树的染色 dp 最优性优化
    luogu P6097 子集卷积 FST FWT
    CF724C Ray Tracing 扩展欧几里得 平面展开
    5.30 省选模拟赛 方格操作 扫描线 特殊性质
    5.29 省选模拟赛 波波老师 SAM 线段树 单调队列 并查集
    Spring main方法中怎么调用Dao层和Service层的方法
    Bug -- WebService报错(两个类具有相同的 XML 类型名称 "{http://webService.com/}getPriceResponse"。请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称。)
  • 原文地址:https://www.cnblogs.com/pejsidney/p/9259767.html
Copyright © 2011-2022 走看看