springboot2.0傳送郵件。QQ、網易【親測有效】
阿新 • • 發佈:2018-12-14
目的: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;