- 第一:开通邮箱 IMAP/SMTP等服务,找到设置
- 开通以后会有一个授权码,一定要复制下来
- 然后进行Java项目搭建(略)
- 添加spring支持邮件的依赖
<!--EMail--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
然后在配置文件(yml)添加
spring: mail: host: smtp.163.com # 邮箱服务器地址 username: ****@163.com # 邮箱登陆用户名(发送者邮箱) password: 这里填你成功开启的邮件给的授权码 #第三方登陆授权码 properties: mail: smtp: auth: true # SMTP连接需要身份验证 starttls: true # 在建立连接后,客户端应该请求服务器升级到TLS加密 ssl: false # 这表示不使用SSL/TLS来加密SMTP连接从建立之初的所有通信
properties以下保持默认即可
这是发送邮件的工具类
@Data @Component public class EmailUtil { //发件人 @Value("${spring.mail.username}") private String username; @Autowired private JavaMailSender javaMailSender; public void emil(String addressee, String content, String theme) throws MessagingException { //创建复杂邮件 MimeMessage mimeMessage = javaMailSender.createMimeMessage(); //发送复杂邮件工具类 MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true, "utf-8"); System.out.println(username+"用户"); //发件人 mimeMessageHelper.setFrom(username); //主题 mimeMessageHelper.setSubject(theme); //内容 mimeMessageHelper.setText(content); //收件人 mimeMessageHelper.setTo(addressee); //发送 javaMailSender.send(mimeMessage); } }
测试类
@SpringBootTest(classes = Application.class) public class DevTest { @Autowired private EmailUtil emailUtil; @Test public void mail() throws MessagingException { emailUtil.emil("***@qq.com","test","主题"); } }
成功发送!