在日常生活中,我们在一个网站中注册一个账户时,往往在提交个人信息后,网站还要我们通过手机或邮件来验证,邮件的话大概会是下面这个样子的:

1.1 邮件发送过程

1.2 邮件发送一般会设计到几个协议:SMTP和POP3

1.3 开通邮件发送的SMTP和POP3协议的服务
2.1 创建SpringBoot工程
2.1.1 配置POM依赖
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.3</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.gmw.boot</groupId><artifactId>send_meail</artifactId><version>0.0.1-SNAPSHOT</version><name>send_meail</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>
加入这个核心依赖
2.1.2 配置application.application文件
#端口号
server.port=8888
#配置thymeleaf模板引擎
spring.thymeleaf.mode=HTML
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.cache=false
#配置邮件设置
#配置QQ邮箱的host的地址
spring.mail.host=smtp.qq.com
#开通QQ邮箱的用户名
spring.mail.username=ganmaowang@qq.com
#设置密码(但要注意,不是设置QQ密码,而是指定发送)
spring.mail.password=vunqpeajrjzmbiac
#设置属性,指定邮件的信息进行加密
spring.mail.properties.mail.smtp.ssl.enable=true
2.1.3 编写发送邮箱的代码
package com.gmw.boot.send_meail;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
@SpringBootTest
class SendMeailApplicationTests {
//要发送邮件,需要注入javaMailSender
@Autowired
private JavaMailSenderImpl javaMailSender;
@Value("${spring.mail.username}")
public String from;
/**
* 简单邮件发送测试:(不携带附件的邮件,就称为:简单邮件)
*/
@Test
void contextLoads() {
//创建一个简单的邮箱
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
//发送给谁
simpleMailMessage.setTo("751729326@qq.com");
//发送的主题
simpleMailMessage.setSubject("未进化的程序猿给你来一条劲爆的消息");
//发送的消息内容
simpleMailMessage.setText("前面有一群母猪排队掉到水坑里,哈哈!!!");
//发送人
simpleMailMessage.setFrom(from);
//发送
javaMailSender.send(simpleMailMessage);
System.out.println("邮件发送成功!");
}
}
2.1.4 进行代码的测试


