利用Kettle按需分发邮件

发布时间 2024-01-11 16:15:33作者: 吃吃吃大王

一、需求:全量数据发送给A邮箱,再把各个供应商的数据发送给各个供应商的邮箱

全量数据发送到a邮箱

b的数据发送b邮箱

c的数据发送c邮箱

d的数据发送d邮箱

二、实现思路:从全量的Excel里根据name字段保存成每个对应名字的Excel文件,再把各个Excel文件发送到对应的邮箱

提前准备两个Excel文件,一个是模拟全量的Excel,一个是名字和邮箱对应的列表

全量Excel:1111.xls的内容

 名字和邮箱映射表:MailList.xls的内容

 

 

三、具体实现方法:

1、新建第一个JOB1,目的是抽取全量数据的Excel文件发送到A邮箱

JOB1里包含一个TRANS和一个发送邮件

 TRANS内查询数据和写入Excel文件

 


 

 

2、再新建一个JOB2,目的是分成各个不同名字的Excel文件发送到对应的邮箱

JOB2里包含三个TRANS

 

TRANS1需要给TRANS2传参,双击Trans1_读取全量Excel,在命名参数里写入要传的参数

 TRANS2要接收TRANS1的传参

 

 


 

 

 Trans1_读取全量Excel

 

 【复制记录到结果】

 


 

 

Trans2_Excel分组

保存时利用传参保存成不同名称的Excel文件

 

 

 

 

 双击TRANS2空白处打开【转换属性】新增参数名称

 

 


 

 

Trans3_发送邮件

 

 

 

TRANS里发送邮件必须依赖【增加常量】提前配置好邮箱信息,在【发送邮件】里进行选择,hz没有写具体的值,但是在【发送邮件】里又必须选择,所以只写了名,设为空值

 

 

 

 

 

分发之后的效果如下