-
邮件发送的基本过程与概念
- 邮件服务器:类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中
- 电子邮箱:用户在邮件服务器上申请的一个账户
- from:发件人邮箱
- to:收件人邮箱
- subject:主题
- body:内容体
-
邮件传输协议
- SMTP协议:全称Simple Mail Transfer Protocol,简单邮件传输协议。它定义了邮件客户端软件和SMTP邮件服务器之间,以及两台SMTP服务器之间的通信规则
- POP3协议:全称为Post Office Protocol,邮局协议。它定义了邮件客户端软件和POP3邮件服务器的通信规则
- IMAP协议:全称为Internet Message Access Protocol,Internet消息访问协议,它是对POP3协议一种扩展,也是定义了邮件客户端软件和IMAP邮件服务器的通信规则
-
项目中添加依赖
<!--发送邮件--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
-
配置文件
spring: # 邮箱服务配置 mail: host: smtp.163.com username: [email protected] password: 授权码 from: [email protected] default-encoding: utf-8 protocol: smtps properties.mail.smtp.starttls.enable: true properties.mail.smtp.starttls.required: true properties.mail.smtp.ssl.enable: true
-
微服务service封装
package com.gen.service.impl; import com.gen.service.MailService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.stereotype.Service; /** * 邮件发送服务 */ @Service @Slf4j public class MailServiceImpl implements MailService { @Autowired private JavaMailSender mailSender; @Value("${spring.mail.from}") private String from; /** * 发送简单邮件 * * @param to 收信人 * @param subject 主题 * @param content 正文 */ @Override public void sendSimpleMail(String to, String subject, String content) { // 创建SimpleMailMessage对象 SimpleMailMessage message = new SimpleMailMessage(); // 邮件发送人 message.setFrom(from); // 邮件接收人 message.setTo(to); // 邮件主题 message.setSubject(subject); // 邮件内容 message.setText(content); // 发送邮件 this.mailSender.send(message); log.info("邮件发送成功===》{}",message); } }