跳至主要内容
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”
最后,配置通过
电子邮件发送的
步骤。