1. 程式人生 > >springboot2.0傳送郵件。QQ、網易【親測有效】

springboot2.0傳送郵件。QQ、網易【親測有效】

目的:springboot2.0-傳送郵箱。QQ、網易郵箱

 第一步:新增依賴【網上都是說添一種依賴這是錯誤的,會出現注入的時候為null】

<!--郵箱依賴-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>4.3.7.RELEASE</version>
        </dependency>

第二步、配置application.yml 

注意:下面的password,並不是你的郵箱登陸密碼,而是

2-1:126郵箱配置

spring:
     #郵箱配置
    mail:
        host: smtp.126.com
        #傳送者郵箱賬號
        username: [email protected]
        #傳送者金鑰
        password: xxxxxxxx
        default-encoding: utf-8
        port: 465
        properties:
            mail:
                debug:
                    true
                smtp:
                    socketFactory:
                        class: javax.net.ssl.SSLSocketFactory

2-2:qq郵箱配置

spring:
     #郵箱配置
    mail:
        host: smtp.qq.com
        #傳送者郵箱賬號
        username: [email protected]
        #傳送者密碼
        password: xxxxxxx
        default-encoding: utf-8
        port: 465
        properties:
            mail:
                debug:
                    true
                smtp:
                    socketFactory:
                        class: javax.net.ssl.SSLSocketFactory

第三步:開啟你的 POP3/SMTP/IMAP

以網易郵箱為例(自行去百度 QQ郵箱的這個很簡單就百度的到)

 第四步:測試

package com.xdx97.backstage.utils;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

//傳送郵箱
@RestController
public class SendMail {

    @Autowired
    private JavaMailSender jms; //自動注入的Bean

    @RequestMapping(value = "/bb")
    public String sendMail(){
//        JavaMailSenderImpl jms = new JavaMailSenderImpl();
        //建立郵件訊息
        SimpleMailMessage mainMessage = new SimpleMailMessage();
        //傳送者
        mainMessage.setFrom("[email protected]");
        //接收者
        mainMessage.setTo("[email protected]");
        //傳送的標題
        mainMessage.setSubject("用來測試的");
        //傳送的內容
        mainMessage.setText("這是郵件");
        jms.send(mainMessage);
        return "1";
    }

}

注意:

在這裡你可能遇到這麼一個錯   Couldn't connect to host, port: localhost, 25; timeout -1;