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

使用springboot实现邮件服务

2019-03-01 13:50 405 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。如需转载请与博主联系,并标注来源。 https://blog.csdn.net/weixin_41606064/article/details/88056487

本文主要讲解如何利用springboot实现常用的邮件服务,涉及普通的纯文本内容的邮件和含常用附件的邮件,主要演示利用QQ邮箱为例。

1.在idea中利用springboot初始化器创建一个springboot项目

2 获取邮箱的授权码

进入个人的QQ邮箱应用窗口,在“邮箱设置”中进入“账户”功能选项卡的“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”开启“POP3/SMTP服务”和“IMAP/SMTP服务”,完成获取授权码的操作。如下操作步骤图。


按照要求完成发送短信验证后”,会自动生成授权码

3.resources文件夹下的application.properties中完成相关属性配置

spring.mail.username=123456789@qq.com//配置发送邮件的地址
spring.mail.password=wwsvwdftkukxbfih//QQ邮箱中生成的授权码
spring.mail.host=smtp.qq.com//开启smtp服务
spring.mail.properties.mail.smtp.ssl.enable=true//ssl功能的启用,如实现对HTML语句的翻译

4.编写实现邮件内容服务功能的源码

**在test中的Springboot04TaskApplicationTests中完成功能代码

package com.cc.task;

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.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.scheduling.annotation.Async;
import org.springframework.test.context.junit4.SpringRunner;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;

@RunWith(SpringRunner.class)
@SpringBootTest
public class Springboot04TaskApplicationTests {
@Autowired
JavaMailSenderImpl mailSender;

@Test
public void contextLoads() {
SimpleMailMessage message = new SimpleMailMessage();
//邮件设置
message.setSubject("通知-今晚开会");
message.setText("今晚7:30开会,");

message.setTo("591414061@qq.com");
message.setFrom("619171416@qq.com");
mailSender.send(message);
}
@Test
public void test02() throws MessagingException {
//创建一个复杂的消息邮件
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
//邮件设置
helper.setSubject("通知-今晚开会,");
helper.setText("<b style='color:red'>今天 7:30 开会</b>",true);

//上传文件
helper.addAttachment("1.jpg",new File("E:\\Picture\\1.jpg"));
helper.addAttachment("2.jpg",new File("E:\\Picture\\2.jpg"));

helper.setTo("987654321@qq.com");
helper.setFrom("123456789@qq.com");
mailSender.send(mimeMessage);
}

}

以上代码演示了邮件功能中的纯文本的邮件和含HTML语句的内容,以及携带常用附件的邮件

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