本文介绍如何使用 Microsoft Entra 应用程序创建使用简单邮件传输协议(SMTP)发送电子邮件的身份验证凭据, 以使用 Azure 通信服务发送电子邮件。
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
- 已使用预配的域创建并准备好一个 Azure 通信服务电子邮件资源。 创建电子邮件通信资源入门
- 一个与电子邮件域连接的活动 Azure 通信服务资源,以及一个连接字符串。 开始将电子邮件资源与通信资源相连接
- 有权访问 Azure 通信服务资源的 Microsoft Entra 应用程序。 向 Microsoft Entra ID 注册应用程序并创建服务主体
- 有权访问 Azure 通信服务资源的 Microsoft Entra 应用程序的客户端密码。 创建新客户端机密
使用 Microsoft Entra 应用程序进行 SMTP 身份验证
构建使用 SMTP 协议发送电子邮件的应用的应用程序开发人员需要实现安全的新式身份验证。 Azure 通信服务使用 Microsoft Entra 应用程序服务主体来提供安全身份验证。 通过创建 SMTP 用户名资源将Microsoft Entra 应用程序链接到通信服务资源。
SMTP 服务使用链接到 SMTP 用户名的 Microsoft Entra 应用程序信息,代表用户使用 Microsoft Entra 进行身份验证,以确保安全无缝的电子邮件传输。 SMTP 用户名资源是用户定义的,可以使用电子邮件格式或自由格式。 如果 SMTP 用户名使用电子邮件格式,则域必须是通信服务资源的链接域之一。
向 Microsoft Entra 应用程序分配角色
还需要使用内置角色或具有所需权限的自定义角色向 Microsoft Entra 应用程序授予对通信资源的访问权限。
- 内置角色
- 自定义角色
将内置的通信和电子邮件服务所有者角色分配给 Microsoft Entra 应用程序
将 通信和电子邮件服务所有者 角色分配给Microsoft Entra 应用程序,以授予它对通信服务资源的访问权限。
使用 Azure 门户创建 SMTP 用户名
- 在门户中,导航到 Azure 通信服务资源,然后打开 SMTP 用户名。
- 单击“ +添加 SMTP 用户名 ”,然后选择Microsoft Entra 应用程序。 如果下拉列表中未显示 Microsoft Entra 应用程序,请参阅前面分配角色的步骤。 用户名可以是自定义文本或电子邮件地址。
- 验证 SMTP 用户名是否在列表中。 一旦满足使用用户名和 SMTP 发送电子邮件的所有要求,状态将更改为 “准备使用 ”。
SMTP 身份验证密码
密码是 Microsoft Entra 应用程序的客户端机密之一。
SMTP AUTH 客户端提交要求
- 身份验证:支持通过与 Microsoft Entra 应用程序详细信息关联的 SMTP 用户名进行用户名和密码身份验证。 Azure 通信服务 SMTP 服务使用 Microsoft Entra 应用程序用户的详细信息来代表用户获取访问令牌,并使用该令牌提交电子邮件。
- Azure 通信服务:需要连接了 Azure 通信电子邮件资源和域的 Azure 通信服务资源。
- 传输层安全性 (TLS):设备必须能够使用 TLS 1.2 及更高版本。
- 端口:需要使用端口 587(推荐)或端口 25,并确保在网络上已解除阻止。 某些网络防火墙或 ISP 会阻止端口,因为这是电子邮件服务器用于发送邮件的端口。
- DNS:使用 DNS 名称 smtp.azurecomm.net。 不要对 Microsoft 365 或 Office 365 服务器使用 IP 地址,因为 IP 地址不受支持。
如何设置 SMTP AUTH 客户端提交
按相应指导,直接在设备或应用程序中输入以下设置(所使用的术语可能与本文不同)。 如果方案符合 SMTP AUTH 客户端提交的先决条件,则这些设置使你能够使用 SMTP 命令从设备或应用程序发送电子邮件。
设备或应用程序设置 | 值 |
---|---|
服务器/智能主机 | smtp.azurecomm.net |
端口 | 端口 587(建议)或端口 25 |
TLS/StartTLS | 已启用 |
用户名和密码 | 输入 SMTP 用户名和一个Microsoft Entra 应用程序的客户端机密。 |