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

本文共 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

你可能感兴趣的文章
时序约束优先级_Vivado工程经验与各种时序约束技巧分享
查看>>
flash back mysql_mysqlbinlog flashback 使用最佳实践
查看>>
mysql存储引擎模式_MySQL存储引擎
查看>>
java 重写system.out_重写System.out.println(String x)方法
查看>>
配置ORACLE 11g绿色版客户端和PLSQL远程连接环境
查看>>
ASP.NET中 DataList(数据列表)的使用前台绑定
查看>>
Linux学习之CentOS(八)--Linux系统的分区概念
查看>>
System.Func<>与System.Action<>
查看>>
asp.net开源CMS推荐
查看>>
csharp skype send message in winform
查看>>
MMORPG 游戏服务器端设计--转载
查看>>
HDFS dfsclient写文件过程 源码分析
查看>>
ubuntu下安装libxml2
查看>>
nginx_lua_waf安装测试
查看>>
WinForm窗体缩放动画
查看>>
JQuery入门(2)
查看>>
linux文件描述符
查看>>
传值引用和调用引用的区别
查看>>
hyper-v 无线网连接
查看>>
Python3.7.1学习(六)RabbitMQ在Windows环境下的安装
查看>>