目录
- 1. 获取授权码
- 2. jar包引入
- 3. 配置application
- 4. 代码实现
1. 获取授权码
- 以126邮箱为例,点开设置,选择POP3/SMTP/IMAP


- 扫码二维码,发送要求的短信内容到指定的号码即可,然后会返回授权密码

2. jar包引入
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-mail'
3. 配置application
# 默认编码
spring.mail.default-encoding=utf-8
# 邮件服务器的地址
spring.mail.host=smtp.126.com
# 用户的账号
spring.mail.username=111@126.com
# 授权密码
spring.mail.password=xxx
# 邮件服务器的端口
spring.mail.port=465
# SSL 连接配置
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.properties.mail.smtp.ssl.required=true
# 开启debug,查看邮件发送日志
spring.mail.properties.mail.debug=true
# 邮件接收者
mail.userlist=123@qq.com,456@qq.com

4. 代码实现
import java.io.File;
import java.util.Date;import javax.annotation.Resource;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import lombok.extern.slf4j.Slf4j;
@RestController
@Slf4j
public class EmailController {@Value("${spring.mail.username}")private String mailUsername;@Value("${mail.userlist}")private String mailUserList;@Resourceprivate JavaMailSender javaMailSender;@GetMapping("/simpleMsg")public void simpleMsg() {SimpleMailMessage simpMsg = new SimpleMailMessage();simpMsg.setFrom(mailUsername);simpMsg.setTo(mailUserList.split(","));simpMsg.setSubject("Hello world!");simpMsg.setText("哈哈哈\n哈哈哈");simpMsg.setSentDate(new Date());javaMailSender.send(simpMsg);}@GetMapping("htmlMsg")public void htmlMsg() throws MessagingException {MimeMessage message = javaMailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message, true);helper.setFrom(mailUsername);helper.setTo(mailUserList.split(","));helper.setSubject("Hello world!");helper.setText("<h1>哈哈哈h1</h1>\n哈哈哈", true);helper.setSentDate(new Date());File file = new File("/Users/xxx/Downloads/cceda5ad-df31-4610-9b63-ed0503561934.jpg");helper.addAttachment(file.getName(), file);javaMailSender.send(message);}}

