跳至主要内容
Administrator Guide
上次更新时间 :2023-06-23
参考信息:Email-Out 传输属性

参考信息:Email-Out 传输属性

“Common”选项卡

属性A
XML 属性名称
描述
编号
id
程序集中通过
电子邮件发出的
组件的唯一编号。
将回复发送至
routes-response-to
通过
电子邮件发出的
传输协议的响应消息目标。
执行时间
execute-when
一个条件,用于确定是否执行传输。
如要执行以下操作
to
意向收件人的常用电子邮件地址。遵循格式
mailto:[emailaddress]
。
如果只想使用密件抄送地址,请指定一个空地址。
mailto:
值
主题
subject
电子邮件的主题行。
自
from
在发送的电子邮件的
“发件人”
字段中应显示的电子邮件地址。
Ssl
ssl
指定连接是否采用 SSL。
Starttles
starttls
指定是否通过在启动 SMTP 会话前发出 STARTTLS 命令来激活与远程 SMTP 服务器的即时 SSL 协商。SMTP 服务器将使用以下其中一种应答代码进行响应:
  • 220 Ready to start
  • TLS 501 Syntax error (no parameters allowed)
  • 454 TLS not available due to a temporary reason
“Ssl”
属性和“Starttls”
属性是互斥的。
主机
host
传输层用于传送邮件的 SMTP 邮件服务器的名称或 IP 地址。
如果您使用 OAuth,请将此值设置为
localhost
。
端口
port
运行邮件服务器的端口号。默认值为 25,即标准 SMTP 端口。异常:
  • 如果
    ssl
    属性设置为
    true
    并且未指定端口,则默认端口为 465。
  • 如果
    StartTLS
    属性设置为
    true
    并且未指定端口,则默认端口为 587。
用户
用于访问电子邮件服务器的用户名。
密码
password
在
User
属性中指定的用户名的密码。

“Advanced”选项卡

属性A
XML 属性名称
描述
存储消息
store-message
除非 Workday 技术支持另行通知,否则
无
指定内容。
要存储消息,请使用 Workday Studio 的“store”
步骤。
传输类
transport-class
如果需要,为每个装配件指定一个备选的实现类。
您可以通过编辑 WEB-INF/classes/spring/assembly-bean.xml 文件来全局更改实现类。
忽略动态端点
ignore-dynamic-endpoints
指定是忽略传入消息标头中的动态 WS-Addressing (WSA) 值,还是使用它来重设传输协议的
Endpoint
属性中的值。
使用“set-dynamic-endpoint”
步骤指定 WS-Addressing 详细信息。
Bcc
bcc
使用英文分号分隔符指定密送电子邮件收件人。示例:
logan.mcneil@workday.com; jake.lee@workday.com
。
Cc
cc
指定抄送电子邮件收件人,使用英文分号分隔符。示例:
logan.mcneil@workday.com; jake.lee@workday.com
。
回复到
reply-to
此电子邮件地址会在用户回复电子邮件消息时自动插入
“收件人”
字段。对于大多数电子邮件,只需使用“From”
字段中的地址即可回复,因此无需定义“Reply To”
属性。指定多个电子邮件地址时,请使用英文分号分隔符。示例:
logan.mcneil@workday.com; jake.lee@workday.com
。
超时
timeout
为客户端与传输正在侦听的 FTP 服务器之间的 FTP 会话指定超时期限(以毫秒为单位)。如果您未指定值,会话将在 300000 毫秒(5 分钟)后超时。
暂时性异常
transient-exceptions
暂时性异常是指在重试时无需任何修改即可成功的异常。非暂时性异常是指在从问题的根本原因得到解决之前,在重试时继续失败的异常。
默认情况下,Workday 仅处理
java.net.ConnectException
与
java.net.SocketException
将错误视为暂时性异常。
以逗号、空格或以逗号和空格分隔的类名称枚举形式指定其他暂时性异常。示例:
  • java.net.UknownHostException java.net.ConnectException java.net.SocketException
  • java.net.UknownHostException,java.net.ConnectException,java.net.SocketException
  • java.net.UknownHostException, java.net.ConnectException, java.net.SocketException
  • @{new java.net.UnknownHostException().getClass().getName()}
如果您指定了其他暂时性异常,则还必须包括默认异常。
java.net.ConnectException
与
java.net.SocketException
“”列表中的“”。否则,Workday 将覆盖它们。

“SMTP Headers”选项卡

属性
XML 属性名称
描述
名称
name
自定义 SMTP 标头的名称。
要在任何现有行下方添加新的自定义标头,请单击“Add”
,然后提供“Name”
和“Value”
。
要在现有行上方添加新标头,请将光标放在该行中,然后单击“Add”下拉菜单中的“Insert”
。
使用“SMTP Headers”
选项卡右侧的按钮可删除行或对行重新排序。
值
value
自定义 SMTP 标头的值。

OAuth 选项卡

要将 Microsoft Outlook OAuth 身份验证与 Studio 的电子邮件发送组件结合使用,请将 Studio 作为应用注册到 Microsoft Azure,提供域范围内的委派,然后向管理员授予许可
Mail.Send
权限和获取各种值。有关详细信息,请参见 https://learn.microsoft.com/en-gb/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow。
要将 Google Gmail OAuth 身份验证与 Workday Studio 的 Email-Out 构成结合使用,请在 Google Cloud 中注册服务账户,提供域范围的委派,并获取各种值的 JSON 描述。有关详细信息,请参见 https://support.google.com/cloud/answer/6158849?hl=en。
属性
XML 属性名称
描述
提供商
provider
电子邮件提供商的名称(以下任一值)
MICROSOFT_OUTLOOK
或
GOOGLE_GMAIL
。
名称
name
Workday 规定的名称,该名称会将您与从 Microsoft Azure 门户或 Google Cloud Console 获取的各种值相关联。
对于 Microsoft Outlook,请输入以下名称:
  • outlook.client.id
  • Outlook.client.secret
  • outlook.tenant.id
  • outlook.user.id
对于 Google Gmail,请输入:
  • gmail.service.account.key.json
  • gmail.delegated.user
值
value
从 Microsoft 或 Google 获取且与上述名称相关联的值。
对于 Microsoft Outlook,请创建以下名称/值对:
名称
值
outlook.client.id
在 Microsoft Azure 门户上已注册应用的“Overview”
页面中,创建:
应用程序(客户端)编号。
Outlook.client.secret
在 Microsoft Azure 门户上已注册应用的“Certificates & secrets”
页面中,创建:
客户端密码编号。
outlook.tenant.id
在 Microsoft Azure 门户上已注册应用的“Overview”
页面中,创建:
目录(租户)编号。
outlook.user.id
用于发送电子邮件的 Outlook 账户地址。同时也会在“Common”选项卡的“From”
字段中输入。
对于 Google Gmail,请创建以下名称/值对:
名称
值
gmail.service.account.key.json
从 Google Cloud 控制台上“Service accounts”页面的“KEYS”
版块下载的文件中的 JSON 文本。
gmail.delegated.user
用于发送电子邮件的 Gmail 地址。必须是与 Google 服务账户关联的主体。同时也会在“Common”选项卡的“From”
字段中输入。

Gmail over SSL 或 Gmail with STARTTLS

在将“email-out”
传输配置为使用 Gmail over SSL 或 Gmail with STARTTLS 时,请确保:
  • 用户名
    和
    密码
    包含有效的Gmail 凭据。
  • 端点
    是
    mailto:[name]@gmail.com
    。
  • 服务提供者
    是
    smtp.gmail.com
    。
  • ssl
    或
    startTLS
    设置为
    true
    。
  • 端口
    为以下任意一种端口:
    • 465,如果
      ssl
      设置为
      true
      。
    • 587,如果
      startTLS
      设置为
      true
      。
  • 超时
    为
    30000
    (30 秒)。

Microsoft Office 365 over SSL 或 STARTTLS

在将“email-out”
传输配置为使用 Microsoft Office 365 over SSL 或 Microsoft Office 365 with STARTTLS 时,请确保:
  • 用户名
    和
    密码
    包含有效的 Office 365 用户凭据。
  • 端点
    是
    mailto:[name]@[domain-name.top-level-domain]
    。
  • 服务提供者
    是
    smtp.office365.com
    。
  • ssl
    或
    startTLS
    设置为
    true
    。
  • 端口
    :
    • 465,如果
      ssl
      设置为
      true
      。
    • 587(如果将
      starttles
      设置为
      true )
      。
  • 超时
    为
    30000
    (30 秒)。

配置非二进制格式的消息正文和附件

在接收传入消息时,许多电子邮件应用程序会匹配多用途互联网邮件扩展 (MIME) 消息中的第一个文本部分,并将其用作消息文本。若要将根消息部件的 MIME 类型设置为
text/plain
,将消息的
输入
和
输出
属性设置为
消息()
,然后将“
输出的多用途
互联网邮件扩展(MIME 类型)类型”设置为
“文本/明文”
。
通过
消息构建器
,使用
文本
元素为电子邮件的消息正文定义消息内容。
对于附件,将
“输出”
属性“”设置为
“”
,并将
“输出”
附件索引设置为“”。
0
,然后
将“输出
MIME 类型”设置为
text/plan
。
同样,通过
消息构建器
,使用
文本
元素来定义附件的消息内容。
为防止某些电子邮件应用程序在消息正文中显示文本附件,即使附件实际上是文本,也请将附件的 MIME 类型设置为“application/octet-stream”
。为此,请在
评估
步骤中使用 MVEL 表达式。示例:
parts[1].setMimeType('application/octet-stream')
如要设置附件的文件名,请使用 MVEL 表达式来设置
Content-Disposition
标头。示例:
parts[1].setHeader('Content-Disposition', 'attachment; filename=payload.txt')
。
最后,配置通过
电子邮件发送的
步骤。

为二进制格式配置消息正文和附件

要将二进制文件注入“MediationContext”
,请为从 FTP 或 SFTP 传输中检索文件的“workday-in”
定义一项检索服务。
创建消息正文,然后使用“eval”
步骤将检索到的文件复制到变量中。您可以使用
“da”
文档访问器变量和
toVar
方法来实现此目的。示例:
da.toVar(Rising_2011_Logo.jpg', 'wd.retrieve.variable')
。
使用
复制
步骤从以下位置复制文件:
wd.retrieve.variable
添加到附件“”为此,请将
输入
属性设置为
变量
,并指定
wd.retrieve.variable
作为输入变量。将
“输出”
属性设置为
“附件”
,指定的
输出
附件索引为
0
,“
输出多用途
互联网邮件扩展 (MIME) 类型”为
“图片/jpeg”
。
最后,配置通过
电子邮件发送的
步骤。