一直在整发送邮件,由于发送的邮件格式比较固定,是一个固定的表格,我就想能不能做一个邮件的模板,这样在发送邮件的时候只需要将内容填充上去,而不需要像之前一样,每次都要重新拼邮件的内容。
下面先来看一下邮件模板,如何设置邮件模板。先添加一个配置文件mail.propertites,在该配置文件中自定义邮件的格式,下面是我定义的邮件的格式:
mail_content=尊敬的各位管理人:
\
运营数据 | ||
统计项 | 统计数 | 统计数 |
新增商户 | {0}个 | A:{1}个 B:{2}个 C:{3}个 |
总粉丝数 | {4}个 | 最多:{5}{6} |
新增粉丝数 | {7}人 | 最多:{8} |
访问人数 | {9}人 | 最多:{10} |
访问人次 | {11}人 | 最多:{12} |
活跃度 | {13}人 | 最高:{14} |
流量充值(S) | {15} | {16} |
流量领取 | {17} | {18} |
流量提取 | {19} | {20} |
在配置文件配置好后,接下来的一步就是在后台获取到邮件格式,然后将需要的内容填充进去,咱们来看代码来分析具体怎么做。
//绑定邮箱模板
ResourceBundle messages = ResourceBundle.getBundle("system");
//获得填充的数据
Object[] args={merchantNum,lisNum.getCountA(),lisNum.getCountB(),lisNum.getCountC(),enMember2.getSumNum(),enMember2.getAccountName(),enMember2.getMaxNum(),enMember3.getSumNum(),addFuns,enMember4.getSumNum(),addPersonCount,enMember5.getSumNum(),addCount,active,highActive,sflowAll,sflowtype,enFlowStore1.getFlowTotal(),getFlowStore,flowCharges,flowChargeGroup,flowAcct};
//新建标准的格式
MessageFormat formatter =new MessageFormat("");
//获得格式转换为中文,防止中文乱码
String mess=new String((messages.getString("mail_content_day")).getBytes("ISO-8859-1"),"utf-8");
//从资源文件中获取相应的模板信息
formatter.applyPattern(mess);
//填充模板
content=formatter.format(args);
这样就将内容赋值到模板中,好处是如何邮箱模板更改,只需更改一下配置文件,同时将数据填充好,而不用去更改其他内容,这样也达到了复用的目的。
接下来看一下邮件发送的效果:
总结:
这次发送邮件是一个小功能,但从小功能中也学到很多知识,邮件发送,定时器的使用,模板的使用,刚刚接触还有很多内容需要学习。 正所谓多读书才能多成长,多多读书去!