利用Freemarker模板引擎发送邮件

一、maven引入jar包

<dependency>
	<groupId>org.freemarker</groupId>
	<artifactId>freemarker</artifactId>
	<version>2.3.20</version>
</dependency>

二、编写读取模板工具类

import java.io.IOException;

import freemarker.template.Configuration;
import freemarker.template.Template;

public class FreemarkerUtil {
	public Template getTemplate(String name) {
		Configuration cfg = new Configuration();
		cfg.setDefaultEncoding("UTF-8");
		cfg.setClassForTemplateLoading(this.getClass(), "/com/szzt/tmp/common/mail/flt");
		try {
			Template template = cfg.getTemplate(name);
			return template;
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}
}

三、模板文件

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Page Title</title>
    <style type="text/css">
</head>
<body>
    <div class="order-header">
        <p>亲爱的用户,您好:</p>
    </div>
    <div class="order-table-box">
        <div class="order-table-bg">
            <div class="table-title">农行有新的订单,请您及时处理</div>
            <!-- table -->
            <div class="table-box">
                <table class="order-table">
                    <thead>
                        <tr>
                            <th>合同号</th>
                            <th>状态描述</th>
                            <th>设备ID</th>
                            <th>设备型号</th>
                            <th>厂商名称</th>
                            <th>银行机构名称</th>
                            <th>采购批次号</th>
                            <th>收货地址</th>
                            <th>收货人电话</th>
                            <th>收货人姓名</th>
                            <th>发货开始时间</th>
                            <th>最晚发货时间</th>
                        </tr>
                    </thead>
                    <tbody>
			         <#list orderList as item>
			         <tr>
			            <td>${item.contractNo?default('')}</td>
			            <td>${item.description?default('')}</td>
			            <td>${item.deviceId?default('')}</td>
			            <td>${item.deviceModel?default('')}</td>
			            <td>${item.deviceVendorName?default('')}</td>
			            <td>${item.orgName?default('')}</td>
			            <td>${item.purchaseBatchNo?default('')}</td>
			            <td>${item.receiveAddress?default('')}</td>
			            <td>${item.receiverMobile?default('')}</td>
			            <td>${item.receiverName?default('')}</td>
			            <td>${item.sendBeginTime?default('')}</td>
			            <td>${item.sendLastTime?default('')}</td>
			         </tr>
			         </#list> 
                    </tbody>
                </table>
            </div>
            <!-- table -->
        </div>
    </div>
</body>
</html>

四、获取发送内容

Template template = new FreemarkerUtil().getTemplate("OrderNotice.flt");
String htmlText = FreeMarkerTemplateUtils.processTemplateIntoString(template, map);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值