“发送电子邮件”步骤用于在运行步骤时向一个或多个收件人发送电子邮件通知。 此步骤类型可用于在步骤或作业完成或者步骤未成功完成时发送通知。
您可以选择为 ArcGIS Workflow Manager 配置电子邮件通知设置,然后使用“发送电子邮件”步骤发送电子邮件通知。 自定义 SMTP 服务器设置允许您包含附件、使用电子邮件地址而不是用户名或群组 ID 以及启用抄送和密送文本框。
注:
您可能需要修改自定义角色以使用 ArcGIS Arcade 表达式检索组织成员的电子邮件地址。
配置步骤
要配置步骤,请执行以下操作:
- 创建或编辑工作流示意图,以访问步骤库面板。
- 将发送电子邮件从步骤库面板拖至工作流画布上步骤的连接箭头。
步骤详细信息面板随即出现。
- 在步骤名称文本框中提供步骤的名称。
- 可以单击启用自定义 SMTP 服务器切换按钮以使用您的 SMTP 服务器发送电子邮件。
- 如果您没有自定义 SMTP 服务器,请选择以下收件人类型选项之一,并在收件人文本框中提供收件人:
- 用户名 - 提供以分号分隔的用户名列表,或者使用 Arcade 表达式以创建动态收件人列表。 Arcade 表达式必须包含在双引号内。
- 群组 ID - 提供单个群组 ID 或者使用 Arcade 表达式以检索群组 ID。 Arcade 表达式必须包含在双引号内。
必须在收件人文本框中至少提供一个有效的用户名、群组 ID 或 Arcade 表达式。
警告:
如果您没有自定义 SMTP 服务器,则最大收件人数为 50。Arcade 表达式可能会导致收件人列表超出最大大小限制。
一个用户名
JDoe
一个群组 ID
7dr6de56442840ccbf49b3f869f49b27
多个用户名
JDoe;KSmith;MFields
一个 Arcade 表达式
"GetUser($CurrentPortal, jobOwner($job))['username']"
多个 Arcade 表达式
"GetUser($CurrentPortal, jobOwner($job))['username']";"jobCreator($job)";"lastRunner($job, '8b107614-c6dc-20b3-c232-e03bf7c007bc')"
用户名和 Arcade 表达式
JDoe;"GetUser($CurrentPortal, jobOwner($job))['username']";KSmith;"lastRunner($job, '8b107614-c6dc-20b3-c232-e03bf7c007bc')"
提示:
单击此输入支持 Arcade 表达式 ,然后选择 ArcGIS Arcade 表达式以将其添加至其关联文本框。
- 如果您有自定义 SMTP 服务器,请根据需要在收件人、抄送和密件抄送文本框中提供以分号分隔的电子邮件地址,或者使用 ArcGIS Arcade 表达式创建动态收件人的列表。 Arcade 表达式必须包含在双引号内。
必须在收件人、抄送或密件抄送文本框中至少提供一个有效的电子邮件地址或 Arcade 表达式。
一个电子邮件地址
user1@test.com
多个电子邮件地址
user1@test.com;user2@test.com;user3@test.com;user4@test.com
一个 Arcade 表达式
"GetUser($CurrentPortal, JobOwner($Job))['Email']"
多个 Arcade 表达式
"GetUser($CurrentPortal, JobOwner($Job))['Email']";"GetUser($CurrentPortal)['Email']";"GetUser($CurrentPortal, LastRunner($Job, 'f50d740d-cc04-9296-4ce3-181e82604465'))['Email']"
电子邮件地址和 Arcade 表达式
user1@test.com;"GetUser($CurrentPortal, JobOwner($Job))['Email']";user3@test.com;"GetUser($CurrentPortal)['Email']"
提示:
单击此输入支持 Arcade 表达式 ,然后选择 ArcGIS Arcade 表达式以将其添加至其关联文本框。
- 在主题文本框中,提供电子邮件通知的主题。
必须提供主题。 主题文本框不能留空。
还可以使用 Arcade 表达式为主题提供动态值。 如果主题包含纯文本和 Arcade 表达式,请将文本格式设置如下:
JobName($Job) + 'is ready'
- 在正文文本框中,提供电子邮件通知的消息文本。
您必须在正文中提供一条消息。 正文文本框不能留空。
还可以使用 Arcade 表达式为正文提供动态值。
如果正文包含纯文本和 Arcade 表达式,请将文本格式设置如下:
'<b>' + JobName($Job) + '</b>, created by <b>' + JobCreator($Job) + '</b>, was started on <b>' + Text(Date(JobStartDate($Job)), 'dddd, MMMM D, Y') + '</b>.'
警告:
如果您没有自定义 SMTP 服务器,则电子邮件正文的大小不得超过 100 KB。 Arcade 表达式可能会导致正文超出最大大小限制。
- 如果您有自定义 SMTP 服务器,则可以使用包含附件下的以下选项在电子邮件通知中包含附件:
- 无 - 电子邮件通知中不包含作业附件。
- 全部 - 电子邮件通知中包含所有作业附件文件夹。
- 按文件夹 - 在按文件夹文本框中提供以逗号分隔的作业附件文件夹名称列表,以指定要包含在电子邮件通知中的作业附件文件夹。
注:
作业附件文件夹包含在工作流项目中,而非文件系统路径。
注:
如果作业包含多个附件,则其将作为单个 .zip 文件发送,并保留作业的附件文件夹结构。
- 或者,单击预览电子邮件以预览电子邮件。
注:
如果电子邮件包含特定于作业的 Arcade 表达式,您必须在预览电子邮件文本框中提供有效的作业 ID,然后才能预览 Arcade 表达式。 如果电子邮件包含步骤输出值的 Arcade 表达式,则必须先完成该步骤,然后才能预览输出值。
将现实电子邮件预览窗口,其中包含收件人列表以及主题和正文的预览。
- 单击选项选项卡。
- 根据需要配置步骤选项:
- 手动 - 手动运行步骤。
- 可选 - 允许完成步骤而无需运行。
- 自动 - 步骤被激活后立即执行。
注:
如果工作流示意图配置为自动运行一系列步骤,其中包括“运行 GP 服务”步骤,则在用户令牌到期后,尝试自动运行的步骤将失败。 ArcGIS Workflow Manager Advanced 组织扩展模块需要在没有人工干预的情况下运行额外的自动步骤。
- 按计划运行 - 根据您设置的计划运行步骤。
- 手动 - 手动运行步骤。
- (可选)选择以下选项之一配置步骤中的帮助:
- 无 - 配置不含步骤帮助的步骤。
- 文本 - 在文本文本框中配置步骤的帮助文本。
可以使用 ArcGIS Arcade 表达式为步骤帮助提供动态值。 如果步骤帮助包含纯文本和 Arcade 表达式,请将文本格式设置如下:
'For further assistance, please contact' + JobCreator($Job) + '.'
- URL - 在 URL 文本框中为步骤配置指向帮助资源的链接。
注:
在 Web 应用程序中运行的步骤仅支持 HTTP 和 HTTPS URL 格式。 在 ArcGIS Pro 中运行的步骤支持 HTTP、HTTPS 和文件格式。
还可以使用 Arcade 表达式提供动态值。 如果 URL 包含纯文本和 Arcade 表达式,请将文本格式设置如下:
'https://pro.arcgis.com/en/pro-app/latest/tool-reference/' + JobExtendedProperty($Job, 'tools', 'toolbox') + '/' + jobExtendedProperty($job, 'tools', 'alias') + '.htm'
配置自动编码 Arcade 结果复选框如下:
- 如果 Arcade 表达式返回了在转换为 URL 时必须进行转义的特殊字符(例如空格或正斜线),请确保已选中自动编码 Arcade 结果复选框。
- 如果使用 Arcade 表达式构建基础 URL,则请取消选中自动编码 Arcade 结果复选框。
- 或者,单击样式选项卡以更改步骤的形状和颜色。
- 或者,单击关于选项卡并在步骤描述文本框中提供该步骤的描述。
提示:
关于选项卡还包含步骤 ID,可与动态作业属性配合使用以获取步骤的输出。 单击复制步骤 ID 将步骤 ID 复制到剪贴板。
返回值
当该步骤完成时,将存储返回值以指示该步骤的结果。 可以使用路径立即评估返回值,以确定工作流中的后续步骤。 您还可以使用 ArcGIS Arcade 表达式在整个工作流中检索已完成步骤的返回值。 下表列出了该步骤的返回值:
返回值 | 描述 |
---|---|
S000001 | 该步骤成功完成。 |
F000001 | 该步骤未能成功完成。 |