版权声明:此博客为个人博客,不涉及商业用途,仅提供学习参考,内容均来自个人原创以及互联网转载和摘录。 --------------------- 本文来自 路西法Lucifer 的CSDN 博客 ,全文地址请点击: https://blog.csdn.net/qq_37495786/article/details/83515625
1、进入qq邮箱,设置-开启IMAP/SMTP,点击开启,会提示授权码,记住此时的授权码
2、记住这个发送邮件服务器的地址。
以上准备工作做完之后,OK,现在开始编码............
一、首先肯定是导包。
spring-boot-starter-mail
附上pom.xml:
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.springboot</groupId>
<artifactId>scheduled-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>scheduled-demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
<version>1.2.0.RELEASE</version>
</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>
</plugin>
</plugins>
</build>
</project>
2、application.yml:配置文件
username:是你用来发送短信的邮箱账号;
password:就是你的授权码,并不是你的邮箱密码
host:是你用来发送邮件的服务器地址
3、编写测试类:
3.1 简单邮件:纯文本
package com.springboot.scheduleddemo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class ScheduledDemoApplicationTests {
@Autowired
JavaMailSenderImpl javaMailSender;
@Test
public void SendMail() {
SimpleMailMessage mailMessage=new SimpleMailMessage();
//邮件设置
mailMessage.setSubject("通知:大家放假一天,不要问为什么,老板问你,就说是我说的!!");
mailMessage.setText("明天放假");
mailMessage.setTo("[email protected]");
mailMessage.setFrom("[email protected]");
javaMailSender.send(mailMessage);
}
}
点击run运行测试类。
OK,此时邮件已经收到了。
3.2 复杂邮件:带HTML或者带附件
@Test
public void SendMail2() throws MessagingException {
//1、创建一个复杂的消息邮件
MimeMessage mimeMessage=javaMailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
//邮件设置
mimeMessageHelper.setSubject("通知:未来七天放假");
mimeMessageHelper.setText("<b style='color:red'>2018-10-30开始放假<b/>",true);
mimeMessageHelper.setTo("[email protected]");
mimeMessageHelper.setFrom("[email protected]");
//上传附件
mimeMessageHelper.addAttachment("timg.jpg",new File("C:\\Users\\13871\\Desktop\\timg.jpg"));
mimeMessageHelper.addAttachment("timg (1).jpg",new File("C:\\Users\\13871\\Desktop\\timg (1).jpg"));
javaMailSender.send(mimeMessage);
}
ps:
mimeMessageHelper.setText("<b style='color:red'>2018-10-30开始放假<b/>",true);这个方法如果需要展示成html,需要将html属性,并设置为true,否则就会展示成文本了。
可以查看源码: