springboot发送邮件案例
首先创建一个邮箱账号,建议@126.com,@163.com,@qq.com 都可以
开启smtp,以下是使用图解:
创建maven项目在pom.xml引入依赖:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 支持发送邮件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
</dependencies>
package cn.et;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Test {
public static void main(String[] args) {
SpringApplication.run(Test.class, args);
}
}
package cn.et;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MailController {
@Autowired
JavaMailSender jms;
@GetMapping("/send")
public String send(){
//建立邮件消息
SimpleMailMessage mainMessage = new SimpleMailMessage();
//发送者
mainMessage.setFrom("[email protected]");
//接收者
mainMessage.setTo("[email protected]");
//发送的标题
mainMessage.setSubject("嗨喽");
//发送的内容
mainMessage.setText("hello world");
jms.send(mainMessage);
return "1";
}
}
在application.properties中:
spring.mail.default-encoding=UTF-8 spring.mail.host=smtp.qq.com #发送者的邮箱账号 spring.mail.username=1***@qq.com #这里要用邀请码,不是你登录邮箱的密码 spring.mail.password=****** #端口 spring.mail.port=465 #协议 spring.mail.protocol=smtp spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory spring.mail.properties.mail.debug=true
运行main方法,访问http://localhost:8081/send 出现1测试成功。