NOTIFY 命令
Concept Information
将传出电子邮件通知消息提交至 SMTP 邮件服务器,然后中继发送给收件人。
语法
已验证的命令语法
NOTIFY SMTP SMTPUSER SMTP_账户名称 PORT 端口号 <ENABLESSL> USER 发件人电子邮箱 PASSWORD 加密的密码 MAILBOX SMTP_服务器名称 ADDRESS 收件人电子邮箱 <CC 抄送收件人电子邮箱> <BCC 密送收件人电子邮箱> SUBJECT 主题行 MESSAGE 邮件文本 <ATTACHMENT 文件路径>
未经验证的命令语法
说明
这个较早版本的 NOTIFY 命令适合与本地邮件系统或不需要身份验证的 SMTP 邮件服务器搭配使用。它不适用于通常需要身份验证的现代电子邮件系统。
NOTIFY USER 发件人电子邮箱 <PASSWORD 加密的密码> MAILBOX SMTP_服务器名称 ADDRESS 收件人电子邮箱 <CC 抄送收件人电子邮箱> <BCC 密件抄送收件人电子邮箱> SUBJECT 主题行 MESSAGE 邮件文本 <ATTACHMENT 文件路径>
参数
| 名称 | 描述 |
|---|---|
| SMTP |
指定向 SMTP 服务器(简单邮件传输协议服务器)进行经身份验证的提交。
说明 几乎所有使用 SMTP 服务器的现代电子邮件系统都需要进行身份验证。 您必须指定 SMTP 才能启用以下参数:
|
| SMTPUSER SMTP_账户名称 |
用于进行身份验证和访问 SMTP 服务器的用户账户名称。 如果省略了 SMTPUSER,则可使用用户指定的发件人电子邮件地址来访问本地邮件系统或无需身份验证的 SMTP 邮件服务器。 |
| PORT 端口号 |
用于访问 SMTP 服务器的端口号。 您可能需要联系 IT 部门,以便了解应该使用哪个端口。用于访问 SMTP 服务器的常见端口号包括:
如果您使用 SMTPUSER,则必须使用 PORT。如果省略了 SMTPUSER,则可省略 PORT 并使用默认端口 25。 |
|
ENABLESSL 可选 |
指定使用安全 SMTP/SSL 连接访问 SMTP 服务器。 您可能需要联系 IT 部门,以了解您的 SMTP 服务器是否需要 SSL 连接。或者发送指定和不指定 ENABLESSL 的测试电子邮件。 |
| USER 发件人电子邮箱 |
定义通过 SMTP 服务器发送电子邮件通知的发件人电子邮箱地址。 说明 USER 和 SMTPUSER 可能是同一账户,也可能不是同一账户,具体取决于您 SMTP 服务器的配置方式。 |
| PASSWORD 加密的密码 |
用于访问 SMTP 服务器的用户账户密码。必须以加密字符串的形式提供密码。 有关详细信息,请参见生成加密的密码。 可能无需密码就能访问本地邮件系统或无需身份验证的 SMTP 邮件服务器。 |
| MAILBOX SMTP_服务器名称 |
用于发送电子邮件消息的 SMTP 服务器域名。例如: MAILBOX "smtp.example.com" |
| ADDRESS 收件人电子邮箱 |
一个或多个收件人的电子邮件地址。 请用逗号分隔多个电子邮件地址。最多输入 1020 个字符。 |
| CC 抄送收件人电子邮箱 可选 |
一个或多个抄送收件人的电子邮件地址。 请用逗号分隔多个电子邮件地址。最多输入 1000 个字符。 |
| BCC 密件抄送收件人电子邮箱 可选 |
一个或多个密件抄送收件人的电子邮件地址。 请用逗号分隔多个电子邮件地址。 |
| SUBJECT 主题行 | 电子邮件的主题行。 |
| MESSAGE 邮件文本 |
电子邮件的正文。 电子邮件是纯文本且不支持 HTML。如果您想要在消息中插入一个换行符,请使用两个 ^ 字符:^^ |
| ATTACHMENT 文件路径 可选 |
一个或多个附件的路径和文件名。 如果文件与 Analytics 项目位于同一文件夹中,则无需指定路径。 用引号将路径和文件名括起来。通过为文件路径输入一个逗号分隔文件列表,可指定添加多个附件: ATTACHMENT "result1.csv,result2.csv" 说明 在逗号分隔的列表中,确保逗号后面没有空格。 |
示例
发送错误报告电子邮件
说明
已完成身份验证的命令语法。
您正在运行脚本,如果脚本失败,则您想要发送通知电子邮件。使用 NOTIFY,您定义了电子邮件并包括两个附件:
- 日志文件
- 一个包含所记录错误的 .fil 文件
NOTIFY SMTP SMTPUSER "mail_admin@example.com" PORT 587 ENABLESSL USER "support@company.com" PASSWORD "9QZC2524830864..."MAILBOX "smtp.company.com" ADDRESS "script_admin@company.com" SUBJECT "错误报告" MESSAGE "无法处理脚本。详情见附件。"ATTACHMENT "Errors.fil,ACL_Demo.log"
发送错误报告电子邮件
说明
未经验证的命令语法。
您正在运行脚本,如果脚本失败,则您想要发送通知电子邮件。使用 NOTIFY,您定义了电子邮件并包括两个附件:
- 日志文件
- 一个包含所记录错误的 .fil 文件
NOTIFY USER "support@company.com" MAILBOX "mail.company.com" ADDRESS "script_admin@company.com" SUBJECT "错误报告" MESSAGE "无法处理脚本。详情见附件。"ATTACHMENT "Errors.fil,ACL_Demo.log"
备注
收件人和附件
您可以使用 NOTIFY 命令向一个或多个收件人发送电子邮件通知消息。消息可以包括附加的数据文件和 Analytics 项目。
NOTIFY 命令的一个常用场景是,在脚本意外出错时通知相关人员。
兼容的 SMTP 服务器
NOTIFY 命令可以与任何支持 SMTP(简单邮件传输协议)的邮件服务器搭配使用,并适用于需要经身份验证的连接的各种 SMTP 服务器。但是,它并不适用于所有 SMTP 服务器或服务。例如,NOTIFY 命令不适用于 Gmail。NOTIFY 支持第三方应用程序连接到 Google 账户所需的用户名和密码以外的安全配置。
请注意,一般来说,成功使用 NOTIFY 将外发电子邮件提交到 SMTP 服务器需要 Analytics 端与 SMTP 服务器端之间有兼容的配置。如果 NOTIFY 无法连接并成功发送电子邮件,请联系 IT 部门,以确保 Analytics 与服务器之间存在兼容的连接配置。
生成加密的密码
说明
在指定或输入服务器配置文件密码、数据库配置文件密码或邮件服务器密码时,Analytics 支持的最大密码长度为 30 个字符。如果指定的密码值超过长度限制,会导致密码被截断和连接失败。
您需要使用 NOTIFY 命令中的 PASSWORD 参数,生成一个加密的密码值。若要使用 NOTIFY 命令妥善生成一个可用的加密密码,则必须在 Analytics 用户界面的通知对话框中输入密码。
-
可选。在 Analytics 的命令行中,输入 SET NOTIFYRETRYATTEMPTS TO 0
暂时关闭 NOTIFY 重试次数设置,将会加速生成加密密码。
-
从 Analytics 主菜单中选择工具 > 通过电子邮件通知。
-
在通知对话框中,填写各必填字段以及所需的选填字段:
发件人 发件人电子邮箱 必须 密码 用于访问 SMTP 服务器的用户账户密码(以明文形式)。
说明
如果密码超过 30 个字符,NOTIFY 命令将会失败。
必须 邮箱路径 SMTP_服务器名称 必须 到 收件人电子邮箱 必须 Cc 抄送收件人电子邮箱 可选 Bcc 密件抄送收件人电子邮箱 可选 主题 主题行 必须 文本 邮件文本 必须 附件 文件路径 可选 -
单击确定。
如果您尝试连接到需要身份验证的 SMTP 服务器,即使 NOTIFY 命令显示成功,但连接尝试也会失败(不出所料)。
-
从日志中复制 NOTIFY 命令并将其粘贴到脚本。
现在,NOTIFY 命令包含 PASSWORD 的加密值。
-
在脚本中,将下列参数添加到复制的 NOTIFY 命令,并提供对应的参数值。
您可以在 NOTIFY 关键字之后立即插入参数。
-
SMTP
-
SMTPUSER SMTP_账户名称
-
PORT 端口号
-
ENABLESSL(如果需要)
-
-
如果您之前将 NOTIFY 重试次数设置为 0,则请在命令行中输入 SET NOTIFYRETRYATTEMPTS TO 5。
如果您最初指定了不同的重试次数,而不是 5 次,则请输入相应的次数。
-
运行脚本,测试 NOTIFY 命令。
如果所有必填值都正确配置为与 SMTP 邮件服务器搭配使用,则此时应能成功执行 NOTIFY 命令。
Analytics 如何响应失败的连接尝试
如果 Analytics 无法与邮件服务器连接,则它会另外进行五次连接尝试,并在每次尝试之后暂停 10秒钟。这种自动重试功能解决了邮件服务器暂时不可用的问题。
如果所有连接尝试均不成功,则 NOTIFY 命令将被取消,同时向日志写入一条消息,但包含该命令的脚本会继续进行处理。
您可以使用 SET 命令更改此默认重试行为。您可以指定:
-
不同次数的连接尝试
-
不进行额外的连接尝试
-
尝试之间的不同间隔时长
-
如果 NOTIFY 命令连接失败且被取消,则脚本运行失败
有关 SET 命令的更多信息,请参阅SET 命令。
| SET 命令语法 | 示例和备注 |
|---|---|
|
SET NOTIFYRETRYATTEMPTS <TO> 数量 |
SET NOTIFYRETRYATTEMPTS TO 10 默认设置:5 次尝试 指定 NOTIFY 命令在初始尝试不成功之后尝试发送电子邮件的次数。输入一个从 0 到 255 的数字。如果您输入 0,则在初始失败之后不再进行附加尝试。 NOTIFY 命令未能发送电子邮件的一个可能的原因是电子邮件服务器不可用。 |
|
SET NOTIFYRETRYINTERVAL <TO> 秒数 |
SET NOTIFYRETRYINTERVAL TO 30 默认设置:10 秒 指定各个 NOTIFYRETRYATTEMPTS 之间的间隔时间(秒)。请输入一个从 1 到 255 的数字。 |
|
SET NOTIFYFAILSTOP {ON | OFF} |
SET NOTIFYFAILSTOP ON 默认设置:OFF
说明 不会将无效的电子邮件收件人视为 NOTIFY 命令执行失败,而且无论 NOTIFYFAILSTOP 为何种设置,都不会导致脚本停止执行。 |