java邮件中添加excel_使用java api 创建excel内容并发送邮件
https://github.com/auguszero/javaToolRepsitory
利用java api 创建excel 内容并发送邮件
主要实现功能:
1.通过配置文件设置发送邮件发送方,接收方,抄送方
2.目前实现了 自定义发送内容
3.实现了excel 邮件发送内容
核心代码 (SendMailManager ) :
package com.javatool.email.proxy;
import com.javatool.configer.DefaultConfigerContext;
import com.javatool.email.model.MailAuthenticator;
import com.javatool.email.model.SendMailConfigModel;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import java.util.Date;
import java.util.List;
import java.util.Properties;
/**
* @author haisong
* @create 2018/09/13 14:21
*/
public class SendMailManager {
/**
* 发送邮件
* @param subject 邮件主题
* @param content 邮件内容
* @return success 发送成功 failure 发送失败
* @throws Exception
*/
public static String sendMail( String subject, String content)
throws Exception {
SendMailConfigModel sendMailConfigModel = DefaultConfigerContext.getInstance().getModelFromProperties(SendMailConfigModel.class);
String to = sendMailConfigModel.getTo();
if (to != null){
Properties props = System.getProperties();
props.put("mail.smtp.host", sendMailConfigModel.getMail_smtp_host());
props.put("mail.smtp.auth", "true");
props.put("mail.transport.protocol", "smtp");
MailAuthenticator auth = new MailAuthenticator();
Session session = Session.getInstance(props, auth);
session.setDebug(true);
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(sendMailConfigModel.getFrom()));
if (!to.trim().equals("")) {
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to.trim()));
}
List copyToList = sendMailConfigModel.getCopyToList();
if(copyToList!=null&©ToList.size()>0) {
Address[] addresses = new Address[copyToList.size()];
int i = 0;
for (String copy : copyToList) {
addresses[i] = new InternetAddress(copy);
i++;
}
message.addRecipients(Message.RecipientType.CC, addresses);
}
message.setSubject(subject);
MimeBodyPart mbp1 = new MimeBodyPart(); // 正文
mbp1.setContent(content, "text/html;charset=utf-8");
Multipart mp = new MimeMultipart(); // 整个邮件:正文+附件
mp.addBodyPart(mbp1);
message.setContent(mp);
message.setSentDate(new Date());
message.saveChanges();
Transport trans = session.getTransport("smtp");
// trans.connect("smtp.163.com", sendMailConfigModel.getUser(), sendMailConfigModel.getPassword());
trans.send(message);
System.out.println(message.toString());
} catch (Exception e){
e.printStackTrace();
return "failure";
}
return "success";
}else{
return "failure";
}
}
public static String SendExcelMail(String subject,List> conteList) throws Exception {
String htmlStr ="";
for(int i=0;i
htmlStr = createHTML(htmlStr,conteList.get(i),i==0?true:false,i==conteList.size()-1?true:false);
}
String result = sendMail(subject,htmlStr);
return result;
}
private static String createHTML(String originHtml, List data,boolean headFlage,boolean endFlage) {
String html_msg="";
if(headFlage){
html_msg = "
html_msg = html_msg+"
";
for(int column=0;column
html_msg = html_msg +"
"+data.get(column)+"";
}
html_msg = html_msg+"
";
}else{
html_msg = html_msg+"
";
for(int column=0;column
html_msg = html_msg +"
"+data.get(column)+"";
}
html_msg = html_msg+"
";
}
if(endFlage){
html_msg = html_msg + "
";
}
return originHtml+html_msg;
}
}
配置文件内容 :
sendMail.mail_smtp_host=smtp.163.com
sendMail.mail_smtp_auth=login
sendMail.user=***@163.com
sendMail.password=******
sendMail.from=*****@163.com
sendMail.to=auguszero@163.com
excel 邮件发送实例图:
如果你觉得可以 可以直接在github 上将该项目打包好 进行引入 作为工具类 。
同时欢迎大家一起来完善这个github项目 。
欢迎一起交流:
java邮件中添加excel_使用java api 创建excel内容并发送邮件相关推荐
- java邮件中添加excel_基于javaMail的邮件发送--excel作为附件
基于JavaMail的Java邮件发送 Author xiuhong.chen@hand-china.com Desc 简单邮件发送 Date 2017/12/8 项目中需要根据物料资质的状况实时给用 ...
- java邮件中添加excel_Java以邮件附件的方式发送excel文件
思路:Java创建Excel,返回一个ByteArrayOutputStream 流 ==> sendEmail()接受ByteArrayOutputStream 流以附件的形式发送出去 ...
- Java 11中的新功能和API详解系列1
Java 11中的新功能和API详解系列1 2018.9.27 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载. JDK 11在语言语法方面有一个小改动,增加了相当数量的新API,以及 ...
- java channel midi_为Java程序中添加播放MIDI音乐功能
下载本文示例代码 Java在多媒体处理方面的确优势不大,但是我们在程序中有些时候又需要一些音乐做为点缀,如果播放的音乐是wav等波形音频文件,又挺大,所以背景音乐最好就是MIDI了,可是网上很多播放M ...
- java注释中添加删除线_如何在Word中添加和删除注释
java注释中添加删除线 Leaving comments in a Word document is a good way to leave feedback on a piece you're r ...
- html5页面中添加腾讯地图api
html5页面中添加腾讯地图api: 点击地图出现详细的地图: 这是一个基于微信端的地图处理方案. 先看看html架构: <a id="aToMap" href=" ...
- win10邮件中添加QQ邮箱无法成功
win10邮件中添加QQ邮箱无法成功 1.登录QQ邮箱在设置->账户将IMAP由关闭改为开启 2.如果还是无法成功,点击生成授权码 3.出现如下界面后,使用手机发送短信,待发送成功后,点击我已发 ...
- 文件管理搜不到Android 里的文件,Android:在原始文件夹中添加文件后窗口找不到内容容器视图...
正在获取窗口找不到内容容器视图.这个错误询问应用程序何时将检查权限Android:在原始文件夹中添加文件后窗口找不到内容容器视图 我注意到,对于穿着应用程序,我正在将穿着apk复制到原始文件夹中.它有 ...
- POI API 创建Excel 文档
原文来自 http://www.blogjava.net/hezhi/articles/POI.html HSSF提供给用户使用的对象在org.apache.poi.hssf.usermodel包中, ...
最新文章
- 一幅图读懂量子力学(上)
- java面向对象程序设计第三版耿祥义pdf_java基础知识干货——封装
- v$sysstat表解释
- Android SQLite Database的使用模板
- listview 每行后面的小箭头_几个简单而有用的电脑小知识
- signalr网上学习资料
- 啊啊啊 草蛋啊 之前努力一天搞出来的时间算法 被一句pk掉 给我砖头
- yeoman_使用yeoman轻松创建Yeoman生成器
- 虚拟环境vitualenv的使用
- android系统自动休眠代码流程,Android P 电源管理(4)待机流程
- Apache和PHP结合、Apache默认虚拟主机
- 首批绿证核发 2018年或适时启动强制约束交易
- linux 企业邮件服务器_什么是Linux服务器,为什么您的企业需要一个?
- 在HTML中添加图片阴影,html – 如何在CSS中为图像添加内部阴影[复制]
- 简单介绍三级分销系统开发源码
- HTML 做个漂亮的表格
- 计算机文化基础(高职高专版 第十一版)第七章 答案
- COSMOS认证咨询,Cosmo-天然产品标准以及Cosmo有机产品标准分为哪几大类
- 也许是史上最全的前端资源大汇总
- 发明专利费用减缓需要哪些资料?