您的位置:首页 > 编程语言 > Java开发

SpringBoot-邮件发送 入门案例

2018-10-30 00:12 357 查看
版权声明:此博客为个人博客,不涉及商业用途,仅提供学习参考,内容均来自个人原创以及互联网转载和摘录。 --------------------- 本文来自 路西法Lucifer 的CSDN 博客 ,全文地址请点击: https://blog.csdn.net/qq_37495786/article/details/83515625

 

1、进入qq邮箱,设置-开启IMAP/SMTP,点击开启,会提示授权码,记住此时的授权码 

2、记住这个发送邮件服务器的地址。

以上准备工作做完之后,OK,现在开始编码............

一、首先肯定是导包。

spring-boot-starter-mail

附上pom.xml:

[code]<?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 简单邮件:纯文本

[code]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("13871278164@163.com");
mailMessage.setFrom("761962381@qq.com");
javaMailSender.send(mailMessage);

}

}

点击run运行测试类。

OK,此时邮件已经收到了。

 

 3.2 复杂邮件:带HTML或者带附件

[code]  @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("13871278164@163.com");
mimeMessageHelper.setFrom("761962381@qq.com");

//上传附件
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,否则就会展示成文本了。

可以查看源码:

 

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: