电子邮件连接器和操作

编辑

电子邮件连接器和操作编辑

电子邮件连接器使用 SMTP 协议发送邮件。电子邮件正文以纯文本和 HTML 文本格式发送。

  • 要使电子邮件的页脚包含指向 Kibana 的链接,请设置 server.publicBaseUrl 配置设置。
  • 使用 xpack.actions.email.domain_allowlist 配置设置时,用于发件人(来自)、收件人、抄送和密件抄送所有属性的电子邮件地址必须具有在配置设置中指定的电子邮件域。

在 Kibana 中创建连接器编辑

您可以在 堆栈管理 > 连接器 中创建连接器,也可以在创建规则时根据需要创建连接器。例如

Email connector
连接器配置编辑

电子邮件连接器具有以下配置属性

名称
连接器的名称。该名称用于在管理 UI 连接器列表中或在配置操作时的连接器列表中标识连接器。
发件人
使用此连接器发送的所有电子邮件的发件人地址。必须以 user@host-name 格式指定。有关更多信息,请参阅 Nodemailer 地址文档
服务
电子邮件服务的名称。如果 service 是 Nodemailer 众所周知的电子邮件服务提供商之一,则使用默认值定义 hostportsecure 属性,并禁用修改。如果 serviceMS Exchange Server,则忽略 hostportsecure 属性,而需要 tenantIdclientIdclientSecret。如果 serviceother,则必须定义 hostport 属性。
主机
服务提供商的主机名。如果您正在使用 xpack.actions.allowedHosts 设置,请确保将此主机名添加到允许的主机中。
端口
要连接到服务提供商的端口。
安全
如果为 true,则连接在连接到服务提供商时将使用 TLS。有关更多信息,请参阅 Nodemailer TLS 文档。如果为 false,则连接将首先通过 TCP 连接,然后尝试通过 SMTP STARTTLS 命令切换到 TLS。
租户 ID
应用程序计划对其进行操作的目录租户,采用 GUID 格式。
客户端 ID
分配给您的应用程序的应用程序 ID,采用 GUID 格式。您可以在注册应用程序的门户中找到此信息。
客户端密钥
您在应用程序注册门户中为应用程序生成的客户端密钥。客户端密钥在发送之前必须进行 URL 编码。还支持在 Authorization 标头中提供凭据的基本身份验证模式,根据 RFC 6749
需要身份验证
如果为 true,则必须提供用于登录类型身份验证的用户名和密码。
用户名
用于登录类型身份验证的用户名。
密码
用于登录类型身份验证的密码。

测试连接器编辑

您可以在 Kibana 中创建或编辑连接器时对其进行测试。例如

Email params test

电子邮件操作具有以下配置属性。

收件人、抄送、密件抄送
每个项目都是一个地址列表。地址可以以 user@host-name 格式指定,也可以以 name <user@host-name> 格式指定。收件人、抄送或密件抄送必须包含一个条目。
主题
电子邮件的主题行。
正文
电子邮件的正文文本。支持 Markdown 格式。

连接器网络配置编辑

使用 操作配置设置来自定义连接器网络配置,例如代理、证书或 TLS 设置。您可以设置适用于所有连接器的配置,也可以使用 xpack.actions.customHostSettings 设置每个主机的配置。

为知名服务配置电子邮件帐户编辑

电子邮件连接器使用 Nodemailer 的集成从许多流行的 SMTP 电子邮件服务发送电子邮件。对于 Microsoft Exchange 电子邮件,它使用 Microsoft Graph API。

对于其他电子邮件服务器,您可以在 JSON 文件 well-known/services.json 中查看 Nodemailer 支持的知名服务列表。这些文件中对象的属性(hostportsecure)对应于相同的电子邮件连接器配置属性。“well-known/services.json”文件中缺少的 secure 属性被视为 false。通常,port: 465 使用 secure: true,而 port: 25port: 587 使用 secure: false

Elastic Cloud编辑

使用预先配置的电子邮件连接器(Elastic-Cloud-SMTP)从 Elastic Cloud 发送电子邮件。

有关预先配置的电子邮件连接器的更多信息,请参阅 Elastic Cloud 电子邮件服务限制

Gmail编辑

要创建一个从 Gmail SMTP 服务发送电子邮件的连接器,请将 服务 设置为 Gmail

如果在操作尝试发送电子邮件时收到身份验证错误,指示您需要从 Web 浏览器继续登录过程,则需要将 Gmail 配置为 允许安全性较低的应用访问您的帐户

如果为您的帐户启用了两步验证,则必须生成并使用唯一的应用密码才能从 Kibana 发送电子邮件。有关更多信息,请参阅 使用应用密码登录

Outlook.com编辑

要创建一个从 Outlook.com SMTP 服务发送电子邮件的连接器,请将 服务 设置为 Outlook

发送电子邮件时,您必须提供 from 地址,作为连接器配置中的默认地址或作为规则中电子邮件操作的一部分。

如果启用了两步验证,则必须使用唯一的应用密码。有关更多信息,请参阅 应用密码和两步验证

Amazon SES编辑

要创建一个从 Amazon Simple Email Service (SES) SMTP 服务发送电子邮件的连接器,请将 服务 设置为 Amazon SES

您必须使用您的 Amazon SES SMTP 凭据才能通过 Amazon SES 发送电子邮件。有关更多信息,请参阅 获取您的 Amazon SES SMTP 凭据。您可能还需要在 AWS 上验证 您的电子邮件地址您的整个域

使用基本身份验证的 Microsoft Exchange编辑

[7.16.0] 已在 7.16.0 中弃用。此 Microsoft Exchange 配置已被弃用,并将在以后删除,因为 Microsoft 正在弃用基本身份验证。

要为删除基本身份验证做好准备,您必须使用基于 OAuth 2.0 客户端凭据身份验证 的新配置更新所有现有的 Microsoft Exchange 连接器。

使用 OAuth 2.0 的 Microsoft Exchange编辑

电子邮件连接器使用 Microsoft Graph REST API v1.0,特别是 sendMail 端点。它仅支持 Microsoft Graph 全局服务 根端点(https://graph.microsoft.com)。

在为 Microsoft Exchange 创建电子邮件连接器之前,您必须在 Azure 门户 上创建并注册客户端集成应用程序

Register client application for MS Exchange

接下来,打开 管理 > API 权限,然后定义已注册应用程序发送电子邮件的权限。请参阅 Microsoft Graph API 的 文档

MS Exchange API permissions

添加 Microsoft Graph 的“Mail.Send”权限。该权限将显示在列表中,状态为“未授予 <您的 Azure Active Directory>”

MS Exchange "Mail.Send" not granted

单击 为 <您的 Azure Active Directory> 授予管理员同意

MS Exchange grant confirmation

确认“Mail.Send”权限的状态现在已授予。

MS Exchange grant confirmation
配置 Microsoft Exchange 客户端密钥编辑

要配置 Microsoft Exchange 客户端密钥,请打开 管理 > 证书和密钥

MS Exchange secrets configuration

添加新的客户端密钥,然后复制该值并将其放入 Microsoft Exchange 电子邮件连接器中的相应字段中。

配置 Microsoft Exchange 客户端和租户标识符编辑

要查找 Microsoft Exchange 客户端和租户 ID,请打开 概述 页面

MS Exchange Client ID and Tenant ID configuration

创建一个连接器,并将服务设置为MS Exchange Server。将值复制并粘贴到相应的字段中。