1 电子邮件
概述
要将电子邮件配置为消息的传递渠道,您需要将电子邮件配置为媒体类型,并为用户分配特定的电子邮件地址。
单个事件的多个通知将归并到同一个电子邮件会话线程中。
配置
要将 email 配置为媒体类型:
- 转到 Alerts > Media types。
- 单击 Create media type(或单击预定义媒体类型列表中的 Email)。
Media type 选项卡包含通用媒体类型属性:

所有必填输入字段都用红色星号标记。
导出 email 媒体类型配置时,Password 会以明文形式导出。
以下参数是 email 媒体类型特有的:
| Parameter | Description |
|---|---|
| Email provider | 选择 email 提供商:Generic SMTP、Gmail、Gmail relay、Office365 或 Office365 relay。 如果选择与 Gmail/Office365 相关的选项,则只需提供发件人 email 地址和密码;SMTP server、SMTP server port、SMTP helo 和 Connection security 等选项将由 Zabbix 自动填充。另请参见:Automated Gmail/Office365 media types。 |
| SMTP server | 设置用于处理外发消息的 SMTP 服务器。 当选择 Generic SMTP 作为 email 提供商时,此字段可用。 |
| SMTP server port | 设置用于处理外发消息的 SMTP 服务器端口。 当选择 Generic SMTP 作为 email 提供商时,此字段可用。 |
| 此处输入的地址将用作所发送消息的 From 地址。 支持添加发件人显示名称(例如上方截图中的 Zabbix_info [email protected] 里的 "Zabbix_info")以及实际 email 地址。 与 RFC 5322 允许的内容相比,Zabbix email 中的显示名称存在一些限制,示例如下: 有效示例: [email protected](仅 email 地址,无需使用尖括号) Zabbix_info [email protected](显示名称和尖括号中的 email 地址) ∑Ω-monitoring [email protected](显示名称中包含 UTF-8 字符) 无效示例: Zabbix HQ [email protected](存在显示名称,但 email 地址周围没有尖括号) "Zabbix\@\<H(comment)Q\>" [email protected](尽管符合 RFC 5322,但 Zabbix email 不支持带引号的成对字符和注释) |
|
| SMTP helo | 设置正确的 SMTP helo 值,通常为域名。 如果为空,将发送 email 的域名(即 Email 字段中 @ 后面的内容)。如果无法获取域名,将记录一条调试级别警告,并使用服务器主机名作为 HELO 命令的域名。当选择 Generic SMTP 作为 email 提供商时,此字段可用。 |
| Connection security | 选择连接安全级别: None - 不使用 CURLOPT_USE_SSL 选项 STARTTLS - 使用 CURLOPT_USE_SSL 选项,值为 CURLUSESSL_ALL SSL/TLS - CURLOPT_USE_SSL 的使用是可选的 |
| SSL verify peer | 勾选此复选框以验证 SMTP 服务器的 SSL 证书。 应将服务器配置指令 "SSLCALocation" 的值放入 CURLOPT_CAPATH 以进行证书验证。 这会设置 cURL 选项 CURLOPT_SSL_VERIFYPEER。 |
| SSL verify host | 勾选此复选框以验证 SMTP 服务器证书的 Common Name 字段或 Subject Alternate Name 字段是否匹配。 这会设置 cURL 选项 CURLOPT_SSL_VERIFYHOST。 |
| Authentication | 选择认证级别: None - 不设置任何 cURL 选项 Username and password - 表示 "AUTH=*",由 cURL 决定认证机制 OAuth - OAuth 认证 Office365 relay email 提供商不支持 OAuth 认证。 |
| Username | 用于认证的用户名。 这会设置 CURLOPT_USERNAME 的值。 支持 用户宏。 |
| Password | 用于认证的密码。 这会设置 CURLOPT_PASSWORD 的值。 支持 用户宏。 此处输入的值在导出媒体类型配置时会按原样导出。为避免在导出文件中暴露敏感凭据,请使用用户宏(例如 {$EMAIL_SMTP_PASSWORD})代替字面密码——导出时会保留宏引用,而密钥值应在目标系统上重新配置。 |
| OAuth tokens | 单击 Configure,在新窗口中设置用于获取 OAuth tokens 的参数。 仅当 Authentication 字段中选择了 "OAuth" 时,此字段才可用。 |
| Message format | 选择消息格式: HTML - 以 HTML 形式发送 Plain text - 以纯文本形式发送 |
另请参见 common media type parameters,了解如何配置默认消息和告警处理选项。
OAuth 令牌
检索 OAuth 令牌需要以下参数:

| 参数 | 说明 |
|---|---|
| 重定向端点 | 输入 Zabbix 前端 URL,OAuth 服务会将 OAuth 授权重定向回该地址(格式为 https://<zabbix-frontend-url>/zabbix.php?action=oauth.authorize)。为新的电子邮件媒介类型定义了 前端 URL 后,将自动设置该值。 |
| 客户端 ID | 输入在 OAuth 授权服务器中注册的客户端应用的唯一标识符。 |
| 客户端密钥 | 输入在 OAuth 授权服务器中注册的客户端应用的私有密钥。 |
| 授权端点 | 输入用于请求用户授权的 OAuth 授权服务器 URL。 |
| 授权参数 | 输入授权端点的参数。 |
| 授权码 | 输入授权码: 自动 - 将通过重定向页面自动获取该代码 手动 - 如果自动获取失败,则手动输入该代码 |
| 令牌端点 | 输入 OAuth 授权服务器 URL,用于将授权码交换为访问令牌和刷新令牌。 |
| 令牌参数 | 输入访问令牌的参数。 |
对于 Gmail、Gmail relay 和 Office365 电子邮件提供商,OAuth 令牌检索具有自动化功能。只需提供 重定向端点、客户端 ID 和 客户端密钥 参数值。Zabbix 将自动填充其他必需值(请参见按提供商划分的 OAuth URL 默认值)。
OAuth 访问令牌和刷新令牌获取
提交 OAuth 参数后:
-
将打开一个浏览器弹窗,引导用户访问授权端点。
-
用户在 OAuth 服务中授权 Zabbix。
-
OAuth 服务会将用户重定向到 Zabbix 前端操作
oauth.authorize,并附带授权码和作用域值。 -
随后,Zabbix 将向令牌端点发出请求,以使用授权码换取访问令牌和刷新令牌。
测试
要测试已配置的 email 媒介类型是否正常工作:
- 在媒介类型的 列表 中找到相关的 email。
- 单击列表最后一列中的 Test(将打开一个测试窗口)。
- 输入 Send to 收件人地址、消息正文,以及可选的主题。
- 单击 Test 发送测试消息。
测试成功或失败的消息将显示在同一窗口中:

用户媒介
配置好电子邮件媒介类型后,前往 用户 > 用户 部分并编辑用户资料,将电子邮件媒介分配给该用户。
适用于所有媒介类型的用户媒介设置步骤,请参见媒介类型页面。