博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Springboot中发送邮件util
阅读量:6123 次
发布时间:2019-06-21

本文共 3057 字,大约阅读时间需要 10 分钟。

1.需要的依赖

<dependency>

<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>

2. Util

import org.apache.poi.util.IOUtils;import org.springframework.beans.factory.annotation.Value;import org.springframework.core.io.ByteArrayResource;import org.springframework.mail.javamail.JavaMailSenderImpl;import org.springframework.mail.javamail.MimeMessageHelper;import org.springframework.stereotype.Service;import javax.mail.Session;import javax.mail.internet.MimeMessage;import java.io.InputStream;import java.util.List;import java.util.Map;import java.util.Properties;@Servicepublic class EmailUtil {    @Value("${email.host}")    private String host;    @Value("${email.from}")    private String from;    @Value("${email.password}")    private String password;    /**     * 发送邮件工具类     *     * @param tos     * @param subject     * @param emailContent     * @param isHtml     * @throws Exception     */    public void send(List
tos, String subject, String emailContent, boolean isHtml, Map
attachments) throws Exception { generalSend(host, password, from, tos, subject, emailContent, isHtml, attachments); } private void generalSend(String host, String password, String from, List
tos, String subject, String emailContent, boolean isHtml, Map
attachments) throws Exception { JavaMailSenderImpl senderImpl = new JavaMailSenderImpl(); //设定mail server senderImpl.setHost(host); //建立邮件消息,发送简单邮件和html邮件的区别 MimeMessage mailMessage = senderImpl.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, 1, "UTF-8"); //设置收件人,寄件人 messageHelper.setTo(tos.toArray(new String[]{})); messageHelper.setFrom(from); messageHelper.setSubject(subject); //true 表示启动HTML格式的邮件 messageHelper.setText(emailContent, isHtml); //添加文件文件 if (attachments != null && attachments.size() > 0) { for (String fileName : attachments.keySet()) { InputStream in = attachments.get(fileName); ByteArrayResource bar = new ByteArrayResource(IOUtils.toByteArray(in)); messageHelper.addAttachment(fileName, bar); } } //设置邮箱属性 Properties prop = new Properties(); // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确 prop.put("mail.smtp.auth", "true"); prop.put("mail.smtp.starttls.enable", "true"); prop.put("mail.smtp.host", host); prop.put("mail.smtp.user", from); prop.put("mail.smtp.pass", password); //配置发送类信息 senderImpl.setJavaMailProperties(prop); senderImpl.setUsername(from); senderImpl.setPassword(password); senderImpl.setSession(Session.getDefaultInstance(senderImpl.getJavaMailProperties())); //发送邮件 senderImpl.send(mailMessage); }}

 

转载于:https://www.cnblogs.com/zad27/p/10408033.html

你可能感兴趣的文章
linux文本模式和文本替换功能
查看>>
Windows SFTP 的安装
查看>>
摄像机与绕任意轴旋转
查看>>
rsync 服务器配置过程
查看>>
预处理、const与sizeof相关面试题
查看>>
爬虫豆瓣top250项目-开发文档
查看>>
Elasticsearch增删改查
查看>>
oracle归档日志增长过快处理方法
查看>>
有趣的数学书籍
查看>>
teamviewer 卸载干净
查看>>
多线程设计模式
查看>>
解读自定义UICollectionViewLayout--感动了我自己
查看>>
SqlServer作业指定目标服务器
查看>>
UnrealEngine4.5 BluePrint初始化中遇到编译警告的解决办法
查看>>
User implements HttpSessionBindingListener
查看>>
抽象工厂方法
查看>>
ubuntu apt-get 安装 lnmp
查看>>
焊盘 往同一个方向增加 固定的长度方法 总结
查看>>
eclipse的maven、Scala环境搭建
查看>>
架构师之路(一)- 什么是软件架构
查看>>