1 自动化 Gmail/Office365 媒介类型

概述

Gmail 或 Office365 用户可以从媒体类型配置中的自动化功能中受益。

配置

电子邮件介质类型配置中的 Email provider 字段允许选择为 Gmail 和 Office 365 预配置的选项。

选择与 Gmail/Office365 相关的选项时,只需提供发件人电子邮件地址/密码即可创建可正常工作的介质类型。

一旦提供了电子邮件地址/密码,Zabbix 将能够自动为 Gmail/Office365 介质类型填充所有必需设置,并使用实际值/推荐值,即 SMTP serverSMTP server portSMTP heloConnection security。由于这种自动化,这些字段甚至不会显示;不过,仍然可以在介质类型列表中查看 SMTP 服务器和电子邮件详细信息(参见 Details 列)。

另请注意:

  • 中继选项不需要密码。
  • 对于 Office365 中继,将使用所提供电子邮件地址的域名动态填充 SMTP 服务器(即,将 example-com.mail.protection.outlook.com 中的“example.com”替换为实际值)。

OAuth 令牌

OAuth 令牌 的获取功能为 GmailGmail relayOffice365 电子邮件提供商提供了自动化特性。

只需提供一组有限的参数即可获取 OAuth 访问令牌和刷新令牌——重定向端点客户端 ID客户端密钥。Zabbix 将自动填充其他必需的值(请参见按提供商划分的 OAuth URL 默认值)。

请注意,也可以使用 Generic SMTP 表单为这些提供商设置 OAuth 授权。

在 Office365 中,必须为每个用户/共享邮箱或整个租户启用 SmtpClientAuthentication(默认设置下未启用)。

按提供商划分的 OAuth URL 默认值

下表列出了 Zabbix 使用的各提供商默认 OAuth URL 值和参数。

参数 Gmail Office365 通用 SMTP
授权端点 https://accounts.google.com/o/oauth2/v2/auth https://login.microsoftonline.com/common/oauth2/v2.0/authorize 无默认值
scope https://mail.google.com https://outlook.office.com/SMTP.Send, offline_access 无默认值
access_type offline 未使用 无默认值
prompt consent 未使用 无默认值
redirect_uri 重定向端点 字段的值会由代码自动添加。不会列在 授权端点 参数中。
state 用于标识正在使用 OAuth 令牌更新的媒介类型的唯一哈希值会由代码自动添加。不会列在 授权端点 参数中。
令牌端点 https://oauth2.googleapis.com/token https://login.microsoftonline.com/common/oauth2/v2.0/token 无默认值
grant_type authorization_code authorization_code 无默认值
redirect_uri 重定向端点 字段的值会由代码自动添加。不会列在 令牌端点 参数中。
state 用于标识正在使用 OAuth 令牌更新的媒介类型的唯一哈希值会由代码自动添加。不会列在 令牌端点 参数中。

适用于个人账户的 Office365 变通方法

Office365 个人账户不支持在重定向 URL 中使用查询字符串。

为了解决此问题,Apache Web 服务器管理员可以将以下重写规则添加到 .htaccess 文件中:

RewriteEngine On
RewriteRule ^/oauth\.authorize$ /zabbix.php?action=oauth.authorize [QSA,L,PT]

这样即可使用如下简化的重定向 URL:

http://server-name/zabbix/oauth.authorize

而不是使用带有查询参数的 URL,从而确保与 Office365 个人账户兼容。