1、引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
2、进行配置(这里以qq邮箱为例子)
spring.mail.username=********@qq.com
spring.mail.password=zozjlnbseiktfdbh
spring.mail.host=smtp.qq.com
spring.mail.properties.mail.smtp.ssl.enable=true
提别注意:spring.mail.password=zozjlnbseiktfdbh,这个配置时候不是填写登录密码而是授权密码!!
- 获取授权码
3、发送邮件
- 发送简单邮件(没有带附件的)
@Autowired
//这个就是springboot提供的对邮件进行操作的对象
//在spring boot里面已经封装好了,只需要在使用时候进行注入就可以了
JavaMailSenderImpl javaMailSender;
@Test
/**
* 测试简单的邮件发送
*/
public void sendEmailTest()
{
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
//设置邮件的主题
simpleMailMessage.setSubject("我是java发的");
//设置邮件的内容
simpleMailMessage.setText("收到就成功");
//设置邮件的收件人(谁来收取邮件)
simpleMailMessage.setTo("********@qq.com");
//设置邮件的发件人(谁发的邮件)
simpleMailMessage.setFrom("*********@qq.com");
//邮件发送
javaMailSender.send(simpleMailMessage);
}
- 发送复杂的邮件(带附件的邮件)
@Autowired
//这个就是springboot提供的对邮件进行操作的对象
//在spring boot里面已经封装好了,只需要在使用时候进行注入就可以了
JavaMailSenderImpl javaMailSender;
@Test
public void sendFileTest()
{
try {
//创建一个复杂的消息
MimeMessage mimeMessage=javaMailSender.createMimeMessage();
//创建一个helper---后面true代表我要传文件了
MimeMessageHelper helper=new MimeMessageHelper(mimeMessage,true);
//设置邮件的主题
helper.setSubject("我是java发的");
//设置邮件的内容----后面true代表内容会被解析为html
helper.setText("<a href='#'>点了不管用</a>",true);
//设置邮件的收件人(谁来收取邮件)
helper.setTo("******@gmail.com");
//设置邮件的发件人(谁发的邮件)
helper.setFrom("*****@qq.com");
//添加文件(第一个参数为收到邮件后在收件人那边显示的文件名,第二个参数为你要发送的附件的全路径)
helper.addAttachment("my.jpg",new File("D:\\javaProjects\\springboot_task\\src\\main\\resources\\1.jpg"));
//邮件发送
javaMailSender.send(mimeMessage);
} catch (MessagingException e) {
e.printStackTrace();
}
}
成功!!!!ура ! !