Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

本文中包含的电子邮件审批系统 充当电子邮件轮询系统,可根据配置定期提取电子邮件并完成作业。

Image Added

图1 : 配置监听器

同一时间点可以配置多个监听器. 从技术上讲,每个监听器都将是一个流程实例,它在循环中重复运行,直到用户终止它。

配置

Image Added

图 2: IMAP邮件设置

IMAP电子邮件设置必须进行配置,以便它将检查新邮件的特定电子邮件收件箱。

创建一个专门的电子邮件地址来接收这样的“响应”电子邮件是很重要的,这样执行代码块不会花费太多的时间处理不相关的电子邮件。

Image Added

图3:监听器设置

监听设置也需要配置,以确定检查频率和电子邮件匹配。

请注意,检查间隔也受到Joget Workflow系统设置中设置的截止检查器间隔的限制。

 

Image Added

图4:监听器设置 - 主题和内容

主题和内容模式非常重要。

确保您匹配您在其他Joget Workflow应用程序中发送的外发邮件的内容。

可能需要一些尝试才能正确完成,因此您可以打开“ 调试模式”以获取相关日志以进行调试。

 

The Email Approver System included in this article acts as a email polling system that fetches emails and complete assignments periodically based on configurations.

Image Removed

Figure 1: Setting up the listeners

There can be more than 1 listener set at any point of time. Each listener, technically, will be a process instance that repetitively run in a loop until terminated by the user.

Configurations

Image Removed

Figure 2: IMAP Email Settings

IMAP Email Settings must be configured so that it will check a specific email's inbox for new incoming mails.

It is important to create a dedicated email address to receive such "response" emails so that the the execution code block does not spend too much time going through irrelevant emails.

Image Removed

Figure 3: Listener Settings

Listener Settings needs to be also configured to determine the frequency of checking and emails to be matched too.

Take note that the checking interval is also subjected to the Deadline Checker interval set in Joget Workflow's system settings.

Image Removed

Figure 4: Listener Settings - Subject and Content

Subject and Content Patterns are very important.

Make sure that you match the content of the outgoing mail that you send out in your other Joget Workflow App.

It may take a few tries to get it right so you can turn on the Debug Mode to get the relevant logs for debugging purpose.

Code Block
titleContent Pattern
{form_approval_new_application_approval_action_status}
{unuse}
{unuse}ID: {processId}
{unuse}Remarks: [{form_approval_new_application_approval_action_remarks}]
{unuse}

Sample email to be sent out configured in Email Tool from the system to the respondent.将电子邮件工具中配置的示例电子邮件从系统发送给应答者。

Code Block
The following application required your approval with details:
====================================
Name : #form.seaa_application.name#
Email : #form.seaa_application.email#
ID: #assignment.processId#
====================================
Please reply this email with keyword "Approved", "Rejected" or "Clarification Required". 
If your have remark message, please fill inline between the square brackets below.
Remarks: [ ]
==  This is a system generated message. ==

Sample email示例电子邮件

Code Block
The following application required your approval with details:
====================================
Name : Etta
Email : etta@joget.com
ID: 43_seaa_new_application_approver_process
====================================
Please reply this email with keyword "Approved", "Rejected" or "Clarification Required".
If your have remark message, please fill inline between the square brackets below.
Remarks: []
==  This is a system generated message. ==

Sample email replied by the receiver back to the mailer.接收方回复邮件的样本电子邮件。

Code Block
Approved

> The following application required your approval with details:
> ====================================
> Name : Etta
> Email : etta@joget.com
> ID: 43_seaa_new_application_approver_process
> ====================================
> Please reply this email with keyword "Approved", "Rejected" or "Clarification Required".
> If your have remark message, please fill inline between the square brackets below.
> Remarks: [356pm approved]
> ==  This is a system generated message. ==

Server log showing email polling and assignment completion.显示电子邮件轮询和分配完成的服务器日志。

Code Block
titleLog
INFO  02 Mar 2016 16:52:50 App: eas - Poll Email tool  - Connect to IMAP for machine@sample-joget.com
INFO  02 Mar 2016 16:52:53 App: eas - Poll Email tool  - IMAP connected for machine@sample-joget.com
INFO  02 Mar 2016 16:52:53 App: eas - Poll Email tool  - Unread Messages: 1
INFO  02 Mar 2016 16:52:54 App: eas - Poll Email tool  - Subject filter for (Re: Email Approval).
INFO  02 Mar 2016 16:52:55 App: eas - Poll Email tool  - --- Mail 0: Re: Email Approval ---
INFO  02 Mar 2016 16:52:55 App: eas - Poll Email tool  - Sender: Cat Grant <cat-grant@sample-joget.com>
INFO  02 Mar 2016 16:52:55 App: eas - Poll Email tool  - Mail Content: Approved____> The following application required your approval with details:__> ====================================__> Name : Etta__> Email : etta@joget.com__> ID: 43_seaa_new_application_approver_process__> ====================================__>__> Please reply this email with keyword "Approved", "Rejected" or "Clarification Required".__>__> If your have remark message, please fill inline between the square brackets below.__> Remarks: [356pm approved]__>__> ==  This is a system generated message. ==__>__>__
INFO  02 Mar 2016 16:52:55 App: eas - Poll Email tool  - subject_pattern:
INFO  02 Mar 2016 16:52:55 App: eas - Poll Email tool  - subject_reg:
INFO  02 Mar 2016 16:52:55 App: eas - Poll Email tool  - subject_reg:
INFO  02 Mar 2016 16:52:55 App: eas - Poll Email tool  - content_pattern: {form_approval_new_application_approval_action_status}__{unuse}__{unuse}ID: {processId}__{unuse}Remarks: [{form_approval_new_application_approval_action_remarks}]__{unuse}__
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - content_reg: \{form_approval_new_application_approval_action_status\}__\{unuse\}__\{unuse\}ID: \{processId\}__\{unuse\}Remarks: \[\{form_approval_new_application_approval_action_remarks\}\]__\{unuse\}__
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - content_reg: (.*?)__([\s\S]*)__([\s\S]*)ID: (.*?)__([\s\S]*)Remarks: \[(.*?)\]__([\s\S]*)__
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - key: form_approval_new_application_approval_action_status
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - value: Approved
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - key: unuse
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - value: __> The following application required your approval with details:__> ====================================__> Name : Etta__> Email : etta@joget.com
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - key: unuse
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - value: >
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - key: processId
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - value: 43_seaa_new_application_approver_process
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - key: unuse
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - value: > ====================================__>__> Please reply this email with keyword "Approved", "Rejected" or "Clarification Required".__>__> If your have remark message, please fill inline between the square brackets below.__>
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - key: form_approval_new_application_approval_action_remarks
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - value: 356pm approved
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - key: unuse
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - value: >__> ==  This is a system generated message. ==__>__>
INFO  02 Mar 2016 16:52:56 App: eas - Poll Email tool  - Submit Form for assignment: 81_43_seaa_new_application_approver_process_approval {approval_new_application_approval_action_status=[Ljava.lang.String;@e992653, approval_new_application_approval_action_remarks=[Ljava.lang.String;@68a31aa1}
I

If there is a match based on the subject or the content, the code block will then retrieve the email's sender information (email) and matches it with an existing user in the system.

If there's a match with an user and if there's a further match with the particular user's assignment, then it will then proceed to complete the assignment.

While completing the assignment, depending on the configurations set, workflow variables' values and/or form data values can be set too.

Image Removed

Figure 5: Optional - SMTP Email Settings for Auto Reply

如果根据主题或内容进行匹配,则代码块将检索电子邮件的发件人信息(电子邮件)并将其与系统中的现有用户相匹配。

如果与用户匹配,并且与特定用户的分配有进一步匹配,则将继续完成分配。

在完成分配时,根据所设置的配置,还可以设置工作流程变量的值和/或表格数据值。

 

Image Added

图 5: 可选 - SMTP 邮件自动回复设置

如果您希望侦听器自动回复匹配的电子邮件,则可以配置此部分。You can configure this section if you want the listener to automatically reply to email that it matches.

View file
nameAPP_eas-1-20160303184155.jwa
height250