如何用java发送包含表格形式的邮件

问题:
如何用java发送包含表格形式的邮件?
方法:
发用freemaker工具来替换html的表格变量,从而动态生成了html。然后再发送这个html格式(不能用纯文本)文本即可。
优化流程:
1、准备模板(这里是以Excel转html为模板)

2、处理模板及对模板填充内容的工具类

3、修改发送邮件的代码
所需依赖
pom.xml依赖

 
<!-- freemarker -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.4</version>
</dependency>

具体实现
1、准备模板
先用excel画一个模板,如下图
在这里插入图片描述
然后在网上找一个excel转换html的在线转换工具
我用的是:零代码 - Table在线布局工具(Excel转HTML)
2. 转换成功之后下载,之后会得到这样一个html文件。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>www.lingdaima.com(零代码excel转HTML)</title>
    <style>
table{
     
     border-top:1px solid #333;border-left:1px solid #333;border-spacing:0;background-color:#fff;width:100%}
table td{
     
     border-bottom:1px solid #333;border-right:1px solid #333;font-size:13px;padding:5px}
.font5{
     
     color:windowtext;}
.xl65{
     
     text-align:left ;}
</style>
</head>
<body>
    <table style="width:500pt"> <!--StartFragment--> 
 <colgroup>
  <col width="111" style="mso-width-source:userset;mso-width-alt:3552;width:83pt"> 
  <col width="131" style="mso-width-source:userset;mso-width-alt:4192;width:98pt"> 
  <col width="290" style="mso-width-source:userset;mso-width-alt:9280;width:218pt"> 
  <col width="135" style="mso-width-source:userset;mso-width-alt:4320;width:101pt"> 
 </colgroup>
 <tbody>
  <tr height="19"> 
   <td class="xl65">号码</td> 
   <td class="xl65">所属运营商</td> 
   <td class="xl65">所属号码组</td> 
   <td class="xl65">报警时间</td> 
  </tr> 
  <tr height="19"> 
   <td class="xl65">15528474394</td> 
   <td class="xl65">万事融通</td> 
   <td class="xl65">智慧外呼_万事融通_日产专用_品牌认证</td> 
   <td class="xl65">2024/10/24 9:35</td> 
  </tr> <!--EndFragment--> 
 </tbody>
</table>
</body>
</html>

3.把这个文件修改为 alert-email-template.ftl, 放到 java 项目的 resouce/ftl/目录下
该文件的内容为

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
table{
     
     border-top:1px solid #333;border-left:1px solid #333
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值