Email Send进阶篇 – 自定义邮件通知内容

2022-06-17 12:10:15 浏览数 (2)

之前的文章有讲解过如何使用知行之桥EDI系统的Email Send端口,通过EDI系统转换后的业务数据至用户邮箱的基本操作。接下来这篇文章将带大家一起使用Email Send的 模板 功能,根据用户的需要来自定义邮件正文内容,直观的体现业务单据的关键信息。

Email Send端口基本配置
连接

发送邮件需要先通过以下配置信息连接到对应的发件箱:

1.服务器:邮箱发件服务器,例:smtp.163.com 2.端口:协议端口号 3.用户:邮件地址 4.密码:邮箱密码(部分邮箱这里需要配置客户端授权码,例如网易云邮箱,QQ邮箱等) 5.TLS类型:选择对应协议的TLS类型

消息
  1. 收件人:需要接收邮件通知的邮箱,多个邮箱直接用逗号隔开
  2. 主题:通知邮件主题
  3. 消息类型:

附件:将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是什么?

阅读原文

0 人点赞