博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用java api 创建excel内容并发送邮件
阅读量:6518 次
发布时间:2019-06-24

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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26654727/article/details/83473968

文章目录

简述:
最近使用 github 在归类自己平时使用的工具类 github 地址:

利用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&&copyToList.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
data,boolean headFlage,boolean endFlage) {
String html_msg=""; if(headFlage){
html_msg = "
"+data.get(column)+""; } html_msg = html_msg+"
"+data.get(column)+""; } html_msg = html_msg+"
"; html_msg = html_msg+"
"; for(int column=0;column
"; }else{ html_msg = html_msg+"
"; for(int column=0;column
"; } if(endFlage){ html_msg = html_msg + "
"; } return originHtml+html_msg; }}

配置文件内容 :

sendMail.mail_smtp_host=smtp.163.comsendMail.mail_smtp_auth=loginsendMail.user=***@163.comsendMail.password=******sendMail.from=*****@163.comsendMail.to=auguszero@163.com

excel 邮件发送实例图:

在这里插入图片描述

如果你觉得可以 可以直接在github 上将该项目打包好 进行引入 作为工具类 。

同时欢迎大家一起来完善这个github项目 。

欢迎一起交流:
在这里插入图片描述

你可能感兴趣的文章
UML用例图概要
查看>>
动态规划算法
查看>>
WebService学习总结(二)——WebService相关概念介绍
查看>>
泥鳅般的const(一个小Demo彻底搞清楚)
查看>>
Pyqt 打开外部链接的几种方法
查看>>
JavaScript DOM编程艺术学习笔记(一)
查看>>
event.srcElement获得引发事件的控件(表单)
查看>>
ASP.NET MVC铵钮Click后下载文件
查看>>
SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
查看>>
【Bootstrap】 bootstrap-table表格组件
查看>>
基本数据结构 - 栈和队列
查看>>
Linux软中断、tasklet和工作队列
查看>>
如何解决ORA-28002 the password will expire within 7 days问题(密码快过期)
查看>>
Asp.Net Core 轻松学-利用日志监视进行服务遥测
查看>>
Windows Mobile 系列文章索引---不断整理中(2009-07-08)
查看>>
架构语言ArchiMate - 架构视角(Viewpoint)分类框架
查看>>
LightSwitch社区资源搜集
查看>>
Android通讯录查询篇--ContactsContract.Data 二(续)
查看>>
IT人的自我导向型学习:开篇杂谈
查看>>
[原创]BizTalk动手实验系列目录
查看>>