[comment]: # translation:outdated

[comment]: # ({5bf0f6b7-80ee944a})
# 1 自动化 Gmail/Office365 媒介类型

[comment]: # ({/5bf0f6b7-80ee944a})

[comment]: # ({27821f3a-be2d5c54})
#### 概述 

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

[comment]: # ({/27821f3a-be2d5c54})

[comment]: # ({31bf66fc-b0fa1cf9})
#### 配置

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

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

![](../../../../assets/en/manual/config/notifications/media_type_gmail.png){width="600"}

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

另请注意：

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

[comment]: # ({/31bf66fc-b0fa1cf9})

[comment]: # ({4f9f19d2-3ff6bd7b})
#### OAuth 令牌

[OAuth 令牌](/manual/config/notifications/media/email#oauth-tokens) 的获取功能为 *Gmail*、*Gmail relay* 和 *Office365* 电子邮件提供商提供了自动化特性。 

![](../../../../../assets/en/manual/config/notifications/media/media_email_oauth2.png){width="600"}

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

请注意，也可以使用 [Generic SMTP](/manual/config/notifications/media/email#oauth-tokens) 表单为这些提供商设置 OAuth 授权。

:::noteclassic
在 Office365 中，必须为每个用户/共享邮箱或整个租户启用 SmtpClientAuthentication（默认设置下未启用）。
:::

[comment]: # ({/4f9f19d2-3ff6bd7b})

[comment]: # ({421dac1d-1da76d8f})
#### 按提供商划分的 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 令牌更新的媒介类型的唯一哈希值会由代码自动添加。不会列在 *令牌端点* 参数中。|<|<|

[comment]: # ({/421dac1d-1da76d8f})

[comment]: # ({8ef04233-2d479df2})
#### 适用于个人账户的 Office365 变通方法

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

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

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

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

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

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

[comment]: # ({/8ef04233-2d479df2})
