快速入門:如何建立驗證認證以使用 SMTP 傳送電子郵件
在本快速入門中,您會了解如何使用 Entra 應用程式建立驗證認證,以使用 SMTP 透過 Azure 通訊服務傳送電子郵件。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- 已建立 Azure 通訊電子郵件資源,並準備好佈建的網域。開始建立電子郵件通訊資源
- 使用電子郵件網域和連接字串進行連線的作用中 Azure 通訊服務資源。 將通訊資源與電子郵件資源連線來開始著手
- 可存取 Azure 通訊服務資源的 Microsoft Entra 應用程式。 使用 Microsoft Entra ID 註冊應用程式並建立服務主體
- 用戶端密碼,用於可存取 Azure 通訊服務資源的 Microsoft Entra 應用程式。 建立新的用戶端密碼
針對 SMTP 使用可存取 Azure 通訊服務資源的 Microsoft Entra 應用程式
應用程式開發人員若要建置使用 SMTP 通訊協定傳送電子郵件的應用程式,則需要實作安全的新式驗證。 Azure 通訊服務會利用 Microsoft Entra 應用程式服務主體來執行這項動作。 結合 Azure 通訊服務資源和 Microsoft Entra 應用程式服務主體的資訊,SMTP 服務會代表使用者與 Microsoft Entra 進行驗證,以確保安全且順暢的電子郵件傳輸。
為 Microsoft Entra 應用程式建立自訂電子郵件角色
Microsoft Entra 應用程式必須同時獲指派對 Azure 通訊服務資源具有 Microsoft.Communication/CommunicationServices/Read、Microsoft.Communication/CommunicationServices/Write 和 Microsoft.Communication/EmailServices/write 權限的角色。 您可以使用參與者角色或建立自訂角色來完成此動作。 請遵循下列步驟,藉由複製現有的角色來建立自訂角色。
- 在入口網站中,可以先瀏覽至您想要在其中指派自訂角色的訂用帳戶、資源群組或 Azure 通訊服務資源,然後開啟存取控制 (IAM) 來建立自訂角色。
- 按一下 [角色] 索引標籤以查看所有內建與自訂角色清單。
- 搜尋您想要複製的角色,例如讀者角色。
- 按一下資料列尾端的省略符號 (...),然後按一下 [複製]。
- 按一下 [基本] 索引標籤,並給與新角色一個名稱。
- 按一下 [權限] 索引標籤,然後按一下 [新增權限]。 搜尋 Microsoft.Communication,然後選取 [Azure 通訊服務]
- 選取Microsoft.Communication/CommunicationServices [讀取]、Microsoft.Communication/CommunicationServices [寫入] 和 Microsoft.Communication/EmailServices [寫入] 權限。 按一下新增。
- 檢閱新角色的權限。 按一下 [檢閱 + 建立],然後在下一頁按一下 [建立]。
為 Microsoft Entra 應用程式指派 Azure 通訊服務資源的角色時,將會提供新的自訂角色。 如需建立自訂角色的詳細資訊,請參閱使用 Azure 入口網站建立或更新 Azure 自訂角色
將自訂電子郵件角色指派給 Microsoft Entra 應用程式
- 在入口網站中,瀏覽至您想要在其中指派自訂角色的訂用帳戶、資源群組或 Azure 通訊服務資源,然後開啟存取控制 (IAM)。
- 按一下 [+ 新增],然後選取 [新增角色指派]。
- 在 [角色] 索引標籤上,選取自訂角色以使用 SMTP 傳送電子郵件,然後按 [下一步]。
- 在 [成員] 索引標籤上,選擇 [使用者、群組或服務主體],然後按一下 [+ 選取成員]。
- 使用搜尋方塊來尋找您要用於驗證的 Microsoft Entra 應用程式,並加以選取。 然後按一下 [選取]。
- 在確認選取之後,請按 [下一步]。
- 在確認範圍和成員之後,請按一下 [檢閱 + 指派]。
從 Microsoft Entra 應用程式資訊建立 SMTP 認證。
SMTP 驗證使用者名稱
Azure 通訊服務允許 Microsoft Entra 應用程式的認證用作 SMTP 使用者名稱和密碼。 使用者名稱由下列三個部分組成,而且可用豎線或點進行分隔。
- Azure 通訊服務資源名稱。
- Microsoft Entra 應用程式識別碼
- Microsoft Entra 租用戶識別碼。
以點分隔的格式:
username: <Azure Communication Services Resource name>.<Microsoft Entra Application ID>.<Microsoft Entra Tenant ID>
以豎線分隔的格式:
username: <Azure Communication Services Resource name>|<Microsoft Entra Application ID>|<Microsoft Entra Tenant ID>
SMTP 驗證密碼
密碼是 Microsoft Entra 應用程式的其中一個用戶端密碼。
SMTP 驗證用戶端提交的需求
- 驗證:使用 Microsoft Entra 應用程式詳細資料作為認證,支援使用者名稱和密碼驗證。 Azure 通訊服務 SMTP 服務將會使用 Microsoft Entra 應用程式詳細資料,代表使用者取得存取權杖,並使用該存取權杖來提交電子郵件。 因為未快取 Microsoft Entra 權杖,所以可以藉由變更 Microsoft Entra 應用程式用戶端密碼或變更 Azure 通訊服務資源的存取控制,立即撤銷存取權。
- Azure 通訊服務:需要 Azure 通訊服務資源具有已連線的 Azure 通訊電子郵件資源和網域。
- 傳輸層安全性 (TLS):您的裝置必須能夠使用 TLS 1.2 版和更新版本。
- 連接埠:連接埠 587 是必要的連接埠。而且必須在您的網路上解除封鎖。 某些網路防火牆或 ISP 會封鎖連接埠,因為這是電子郵件伺服器用來傳送郵件的連接埠。
- DNS:使用 DNS 名稱 smtp.azurecomm.net。 請勿針對 Microsoft 365 或 Office 365 伺服器使用 IP 位址,因為不支援 IP 位址。
如何設定 SMTP 驗證用戶端提交
直接在您的裝置上或應用程式中輸入下列設定,如其指南所指示 (可能會使用與本文不同的術語)。 如果您的案例符合 SMTP 驗證用戶端提交的必要條件,這些設定可讓您使用 SMTP 命令,從裝置或應用程式傳送電子郵件。
裝置或應用程式設定 | 值 |
---|---|
伺服器/智慧主機 | smtp.azurecomm.net |
連接埠 | 連接埠 587 |
TLS/StartTLS | 已啟用 |
使用者名稱與密碼 | 從可存取 Azure 通訊服務資源的應用程式輸入 Microsoft Entra 應用程式認證 |