一、基础知识
邮件传输协议:
- SMTP协议(简单邮件传输协议,属于TCP/IP协议簇,应用层协议)
- POP3协议(邮局协议版本3,是TCP/IP协议族中的一员,本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了SSL加密的POP3协议被称为POP3S)
- IMAP协议(邮件客户端(可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。 )
- Mime协议
发送流程:
springboot
请自行参考其他博客
二、项目起步
1.使用maven创建springboot项目/注册邮箱开通pop3stmp
2.添加,导入主要依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
3.添加相关配置参数application
spring.mail.host=smtp.126.com
spring.mail.username=********@126.com
#注意:需要126开通授权码服务填入下面
spring.mail.password=*****
spring.mail.default-encoding=UTF-8
4.发送邮件服务示例
import com.honghe.managerTool.service.SendMailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;
/**
* @author: zhaojianyu
* @create: 2018-09-10 10:43
**/
@Service
public class SendMailServiceImpl implements SendMailService{
@Value("${spring.mail.username}")
private String whoAmI;
@Autowired
private JavaMailSender mailSender;
/**
* 发送简单邮件
* @param to 发送给谁
* @param subject 邮件主题
* @param content 邮件内容
*/
@Override
public void sendSimpleMail(String to, String subject, String content) {
SimpleMailMessage message = new SimpleMailMessage();