之前的文章有讲解过如何使用知行之桥EDI系统的Email Send端口,通过EDI系统转换后的业务数据至用户邮箱的基本操作。接下来这篇文章将带大家一起使用Email Send的 模板 功能,根据用户的需要来自定义邮件正文内容,直观的体现业务单据的关键信息。
Email Send端口基本配置
连接
发送邮件需要先通过以下配置信息连接到对应的发件箱:
1.服务器:邮箱发件服务器,例:smtp.163.com 2.端口:协议端口号 3.用户:邮件地址 4.密码:邮箱密码(部分邮箱这里需要配置客户端授权码,例如网易云邮箱,QQ邮箱等) 5.TLS类型:选择对应协议的TLS类型
消息
- 收件人:需要接收邮件通知的邮箱,多个邮箱直接用逗号隔开
- 主题:通知邮件主题
- 消息类型:
附件:将Email Send端口的输入文件作为邮件附件 模板: 当消息类型配置为“模板”时,端口会将消息作为 ArcScript,输入文件作为该脚本的入参,生成电子邮件中的文本
Email Send端口模板功能
了解到Email Send的基本配置后,接下来进入正题,教大家如何使用Email Send 消息类型中的模板功能来自定义邮件通知内容。
要使用模板功能,端口必须接收一个 XML 文件作为输入。 模板只能解析 XML 文件中的信息。
生成基本模板
以850订单为例:
1.首先需要确认需要在邮件中体现的业务信息:订单号、订单日期、物料号、数量等,定义好邮件模板XML结构 2.新建一个xml map端口,将左侧标准EDI XML业务数据映射转换为右侧邮件模板的XML文档
3.经过XML Map的映射转换,输出结果如下:
代码语言:javascript复制<pre><order>
<doc_type>850</doc_type>
<email>hannahc@kasoftware.cn</email>
<po_number>PO230027</po_number>
<po_date>2022-05-16</po_date>
<shipto_code>10012</shipto_code>
<shipto_name>Ship to name</shipto_name>
<line_no>00010</line_no>
<buyer_item>item 1</buyer_item>
<supplier_item>item A</supplier_item>
<quantity>50.00000</quantity>
<delivery_date>2022-06-11</delivery_date>
</order> </order>
</pre>
模板脚本
1.脚本示例
在上述输出文件中,”order”标签下包含” doc_type”、” po_number”、” po_date”等子元素。 将字段体现在EmailSend端口的模板中的脚本如下所示:
[document.order_ po_date]
此脚本包含三个组件:
·document项,指向当前输入的XML文件 ·order_ po_date,可拆分为下的< po_date >字段,指向输入模板文件中的 2022-05-16 ·方括号,表示ArcScript脚本中的取值
2.动态正文
订单主信息:
PO Number : [document.order_po_number] PO Date / yyyy-MM-dd : [document.order_po_date] Ship To Plant : [document.order_shipto_code]
订单明细:
Item Number : [document.order_line_no] Buyer Item Number : [document.order_buyer_item] Supplier Item Number : [document.order_supplier_item] Order Quantity : [document.order_quantity] Delivery Date / yyyy-mm-dd : [document.order_delivery_date]
3.动态收件人和主题:
不仅邮件正文可以动态取值,邮件的主题、收件人也可以根据输入的模板文件内容来完成取值。
收件人:[document.order_email] 指向输入模板文件中的hannahc@kasoftware.cn
主题:文件类型 [document.order_doc_type] 指向输入模板文件中的850 单号[document.order_po_number] 指向输入模板文件中的PO230027
另外,还支持使用输入文件的文件名来作为邮件主题。可以将主题设置为以下值,以包含传出文件的文件名:[_message.header:filename]
若公司内部负责各种业务的人员不同,就可采用这种灵活取值的方式将不同业务数据发相应负责人的邮箱。
Email Send端口配置及邮件效果
将上述信息在Email Send端口中进行配置,并支持修改邮件正文样式来体现的正文中的关键信息点
经过Email Send端口发出后的最终收到的邮件效果如下:
此外,代码视图编辑器支持创建自定义 ArcScript,以对来自 XML 文件的信息进行高级处理。在此模式下,ArcScript 命令可用于一次处理多个数据条目或更复杂的逻辑。
工作流示例
通过上述的讲解想必大家已经对Email Send端口的进阶用法有所了解,以下是上述讲解的工作流示例,下载知行之桥EDI系统,导入【示例工作流】,进行实战操作。
下载示例工作流 下载测试文件
在知行之桥EDI系统中导入上述工作流
创建工作区
首先在知行之桥EDI系统的 工作流 选项卡中,点击右上方的齿轮图标,点击 创建工作区,可以对工作区进行自定义的命名,示例中我们将其命名为:EmailSend_Test
接下来需要点击 导入工作区 选择 EmailSend_Test.arcflow 导入。或者可以直接将 EmailSend_Test.arcflow 工作流拖拽至中央空白区域即可。
导入工作流后的结构如下图所示:
配置邮箱
进入到工作流的Email Send端口的收件人中配置发件箱连接信息和收件人,点击连接测试提示连接成功即可发送邮件
模拟邮件发送
1.测试文件在X12端口的输入选项下,勾选测试文件点击发送
2.在收件人的邮箱即可看到邮件的实际效果
更多EDI信息,请参阅: EDI是什么?
阅读原文