共用方式為


快速入門:傳送具有附件的電子郵件

在本快速入門中,您將會了解如何使用我們的電子郵件 SDK 來傳送具有附件的電子郵件。

藉由使用通訊服務 .NET 電子郵件用戶端程式庫來傳送電子郵件訊息,以開始使用 Azure 通訊服務。

提示

透過直接跳至 GitHub 上的基本電子郵件傳送進階電子郵件傳送範例程式碼,立即開始透過 Azure 通訊服務的電子郵件傳送體驗。

了解電子郵件物件模型

下列類別和介面會處理 Azure 通訊服務電子郵件用戶端程式庫的一些主要 C# 功能。

名稱 描述
EmailAddress 此類別包含電子郵件地址和顯示名稱的選項。
EmailAttachment 這個類別會藉由接受唯一標識碼、電子郵件附件 MIME類型 字串、內容的二進位數據,以及選擇性內容識別碼來將其定義為內嵌附件,以建立電子郵件附件。
EmailClient 這是所有電子郵件功能所需的類別。 請使用您的連接字串來對其進行具現化,並使用其來傳送電子郵件訊息。
EmailClientOptions 此類別可以新增至 EmailClient 具現化,以針對特定的 API 版本。
EmailContent 此類別含有電子郵件訊息的主旨和本文。 您必須至少指定一個 PlainText 或 Html 內容
EmailCustomHeader 此類別讓使用者可以新增自訂標題的名稱和值組。 您也可以使用標頭名稱 'x-priority' 或 'x-msmail-priority',透過這些標頭指定電子郵件重要性
EmailMessage 此類別會合併傳送者、內容及收件者。 您也可以選擇性地新增自訂標題、附件及回復電子郵件地址。
EmailRecipients 此類別會保留電子郵件訊息收件者的 EmailAddress 物件清單,包括 CC 與 BCC 收件者的選擇性清單。
EmailSendOperation 此類別代表非同步電子郵件傳送作業,並從電子郵件傳送 API 呼叫傳回。
EmailSendResult 此類別會保存電子郵件傳送作業的結果。 具有作業識別碼、作業狀態和錯誤物件 (適用時)。

EmailSendResult 會對執行的電子郵件作業傳回下列狀態。

狀態 描述
未開始 我們目前不會從我們的服務傳送此狀態。
執行中 電子郵件傳送作業目前正在進行中並且正在進行處理。
成功 電子郵件傳送作業已完成,沒有電子郵件無法傳遞的錯誤。 您可以透過 Azure 監視器或 Azure 事件方格,取得此階段以外電子郵件傳遞的任何詳細狀態。 了解如何訂閱電子郵件事件
失敗 電子郵件傳送作業未成功,且發生錯誤。 未傳送電子郵件。 結果包含錯誤物件,其中包含失敗原因的詳細資料。

必要條件

完成本快速入門後,您的 Azure 帳戶中會產生幾美分或更少的費用。

注意

我們也可以從自己的已驗證網域傳送電子郵件。 將自訂已驗證網域新增至電子郵件通訊服務

先決條件檢查

  • 在終端機或命令視窗中執行 dotnet 命令,確認已安裝 .NET 用戶端程式庫。
  • 若要檢視與您電子郵件通訊服務資源相關聯的子網域,請登入 Azure 入口網站、尋找您的電子郵件通訊服務資源,然後從左側瀏覽窗格開啟 [佈建] 索引標籤。

建立新的 C# 應用程式

在主控台視窗中 (例如 cmd、PowerShell 或 Bash),使用 dotnet new 命令建立名為 EmailQuickstart 的新主控台應用程式。 此命令會建立簡單的 "Hello World" C# 專案,內含單一原始程式檔:Program.cs

dotnet new console -o EmailQuickstart

將您的目錄變更為新建立的應用程式資料夾,然後使用 dotnet build 命令來編譯您的應用程式。

cd EmailQuickstart
dotnet build

Install the package

若您仍在應用程式目錄中,請使用 dotnet add package 命令安裝適用於 .NET 套件的 Azure 通訊服務電子郵件用戶端程式庫。

dotnet add package Azure.Communication.Email

使用驗證建立電子郵件用戶端

開啟 Program.cs,並以下列程式碼取代現有的程式碼,以新增 using 指示詞,並包含 Azure.Communication.Email 命名空間及您程式執行的起點。


using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;

using Azure;
using Azure.Communication.Email;

namespace SendEmail
{
  internal class Program
  {
    static async Task Main(string[] args)
    {

    }
  }
}

有一些不同的選項可用來驗證電子郵件用戶端:

在文字編輯器中開啟 Program.cs,並將 Main 方法的本文取代為程式碼,以使用您的連接字串來初始化 EmailClient。 以下程式碼會從名為 COMMUNICATION_SERVICES_CONNECTION_STRING 的環境變數中,擷取資源的連接字串。 了解如何管理您資源的連接字串

// This code demonstrates how to fetch your connection string
// from an environment variable.
string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
EmailClient emailClient = new EmailClient(connectionString);

傳送具有附件的電子郵件訊息

我們可以藉由定義 EmailAttachment 物件並將其新增至 EmailMessage 物件來新增附件。 讀取附件檔案,並使用 Base64 進行編碼。


// Create the email content
var emailContent = new EmailContent("Welcome to Azure Communication Service Email APIs.")
{
    PlainText = "This email message is sent from Azure Communication Service Email.",
    Html = "<html><body><h1>Quick send email test</h1><br/><h4>This email message is sent from Azure Communication Service Email.</h4><p>This mail was sent using .NET SDK!!</p></body></html>"
};

// Create the EmailMessage
var emailMessage = new EmailMessage(
    senderAddress: "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net" // The email address of the domain registered with the Communication Services resource
    recipientAddress: "emailalias@contoso.com"
    content: emailContent);

// Create the EmailAttachment
var filePath = "C:\Users\Documents\attachment.pdf";
byte[] bytes = File.ReadAllBytes(filePath);
var contentBinaryData = new BinaryData(bytes);
var emailAttachment = new EmailAttachment("attachment.pdf", MediaTypeNames.Application.Pdf, contentBinaryData);

emailMessage.Attachments.Add(emailAttachment);

try
{
    EmailSendOperation emailSendOperation = emailClient.Send(WaitUntil.Completed, emailMessage);
    Console.WriteLine($"Email Sent. Status = {emailSendOperation.Value.Status}");

    /// Get the OperationId so that it can be used for tracking the message for troubleshooting
    string operationId = emailSendOperation.Id;
    Console.WriteLine($"Email operation id = {operationId}");
}
catch (RequestFailedException ex)
{
    /// OperationID is contained in the exception message and can be used for troubleshooting purposes
    Console.WriteLine($"Email send operation failed with error code: {ex.ErrorCode}, message: {ex.Message}");
}

使用 dotnet run 命令從您的應用程式目錄執行應用程式。

dotnet run

允許的 MIME 類型

如需電子郵件附件可接受 MIME 類型的詳細資訊,請參閱允許的 MIME 類型文件。

範例指令碼

您可以從 GitHub 下載示範此動作的範例應用程式

藉由使用通訊服務 JS 電子郵件用戶端程式庫來傳送電子郵件訊息,以開始使用 Azure 通訊服務。

提示

透過直接跳至 GitHub 上的基本電子郵件傳送進階電子郵件傳送範例程式碼,立即開始透過 Azure 通訊服務的電子郵件傳送體驗。

了解電子郵件物件模型

下列類別和介面會處理 Azure 通訊服務的聊天用戶端程式庫的一些主要 JavaScript 功能。

名稱 描述
EmailAddress 此類別包含電子郵件地址和顯示名稱的選項。
EmailAttachment 這個類別會藉由接受唯一標識碼、電子郵件附件 MIME類型 字串、內容的二進位數據,以及選擇性內容識別碼來將其定義為內嵌附件,以建立電子郵件附件。
EmailClient 這是所有電子郵件功能所需的類別。 請使用您的連接字串來對其進行具現化,並使用其來傳送電子郵件訊息。
EmailClientOptions 此類別可以新增至 EmailClient 具現化,以針對特定的 API 版本。
EmailContent 此類別含有電子郵件訊息的主旨和本文。 您必須至少指定一個 PlainText 或 Html 內容。
EmailCustomHeader 此類別讓使用者可以新增自訂標題的名稱和值組。 您也可以使用標頭名稱 'x-priority' 或 'x-msmail-priority',透過這些標頭指定電子郵件重要性。
EmailMessage 此類別會合併傳送者、內容及收件者。 您也可以選擇性地新增自訂標題、附件及回復電子郵件地址。
EmailRecipients 此類別會保留電子郵件訊息收件者的 EmailAddress 物件清單,包括 CC 與 BCC 收件者的選擇性清單。
EmailSendResult 此類別會保存電子郵件傳送作業的結果。 其具有作業識別碼、作業狀態和錯誤物件 (適用時)。
EmailSendStatus 此類別代表電子郵件傳送作業的狀態集。

EmailSendResult 會對執行的電子郵件作業傳回下列狀態。

狀態名稱 描述
isStarted 如果電子郵件傳送作業目前正在進行中並且正在進行處理,則傳回 True。
isCompleted 如果電子郵件傳送作業已完成,且沒有電子郵件無法傳遞的錯誤,則傳回 True。 您可以透過 Azure 監視器或 Azure 事件方格,取得此階段以外電子郵件傳遞的任何詳細狀態。 了解如何訂閱電子郵件事件
result 如果電子郵件傳送作業已結束,則屬性存在。
error 如果電子郵件傳送作業未成功且發生錯誤,則屬性存在。 未傳送電子郵件。 結果包含錯誤物件,其中包含失敗原因的詳細資料。

必要條件

完成本快速入門後,您的 Azure 帳戶中會產生幾美分或更少的費用。

注意

我們也可以從自己的已驗證網域傳送電子郵件。 將自訂已驗證網域新增至電子郵件通訊服務

先決條件檢查

  • 在終端機或命令視窗中執行 node --version,確認已安裝 Node.js。
  • 若要檢視與您電子郵件通訊服務資源相關聯的子網域,請登入 Azure 入口網站、尋找您的電子郵件通訊服務資源,然後從左側瀏覽窗格開啟 [佈建網域] 索引標籤。

設定應用程式環境

建立新的 Node.js 應用程式

首先,開啟您的終端機或命令視窗,為您的應用程式建立新的目錄,並瀏覽至該目錄。

mkdir email-quickstart && cd email-quickstart

執行 npm init -y 以使用預設設定建立 package.json 檔案。

npm init -y

使用文字編輯器,在專案根目錄中建立名為 send-email.js 的檔案。 將 package.json 中的「main」屬性變更為「send-email.js」。 下一節示範如何將本快速入門的原始程式碼新增至新建立的檔案。

Install the package

使用 npm install 命令來安裝適用於 JavaScript 的 Azure 通訊服務電子郵件用戶端程式庫。

npm install @azure/communication-email --save

--save 選項會在您的 package.json 檔案中,將程式庫列為相依性。

使用驗證建立電子郵件用戶端

有一些不同的選項可用來驗證電子郵件用戶端:

從用戶端程式庫匯入 EmailClient,並使用您的連接字串將其具現化。

以下程式碼會使用 dotenv 套件從名為 COMMUNICATION_SERVICES_CONNECTION_STRING 的環境變數中,擷取資源的連接字串。 使用 npm install 命令來安裝 dotenv 套件。 了解如何管理您資源的連接字串

npm install dotenv

send-email.js 中新增下列程式碼:

const { EmailClient } = require("@azure/communication-email");
require("dotenv").config();

// This code demonstrates how to fetch your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];
const emailClient = new EmailClient(connectionString);

為了簡單起見,本快速入門會使用連接字串,但在實際執行環境中,我們建議使用服務主體

傳送具有附件的電子郵件訊息

我們可以藉由定義附件物件並將其新增至訊息來新增附件。 讀取附件檔案,並使用 Base64 進行編碼。

const filePath = "<path-to-your-file>";

const message = {
  sender: "<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>",
  content: {
    subject: "Welcome to Azure Communication Service Email.",
    plainText: "<This email message is sent from Azure Communication Service Email using JavaScript SDK.>"
  },
  recipients: {
    to: [
      {
        address: "<emailalias@emaildomain.com>",
        displayName: "Customer Name",
      }
    ]
  },
  attachments: [
    {
      name: path.basename(filePath),
      contentType: "<mime-type-for-your-file>",
      contentInBase64: readFileSync(filePath, "base64"),
    }
  ]
};

const poller = await emailClient.beginSend(message);
const response = await poller.pollUntilDone();

允許的 MIME 類型

如需電子郵件附件可接受 MIME 類型的詳細資訊,請參閱允許的 MIME 類型文件。

範例指令碼

您可以從 GitHub 下載示範此動作的範例應用程式

藉由使用通訊服務 JAVA 電子郵件 SDK 來傳送電子郵件訊息,以開始使用 Azure 通訊服務。

提示

透過直接跳至 GitHub 上的基本電子郵件傳送進階電子郵件傳送範例程式碼,立即開始透過 Azure 通訊服務的電子郵件傳送體驗。

了解電子郵件物件模型

下列類別和介面會處理適用於 Python 的 Azure 通訊服務電子郵件 SDK 的一些主要功能。

名稱 描述
EmailAddress 此類別包含電子郵件地址和顯示名稱的選項。
EmailAttachment 此介面會藉由接受唯一標識碼、電子郵件附件 MIME類型 字串、內容位元組字串,以及選擇性內容識別碼來將其定義為內嵌附件,以建立電子郵件附件。
EmailClient 這是所有電子郵件功能所需的類別。 請使用您的連接字串來對其進行具現化,並使用其來傳送電子郵件訊息。
EmailMessage 此類別會合併傳送者、內容及收件者。 您也可以選擇性地新增自訂標題、附件及回復電子郵件地址。
EmailSendResult 此類別會保存電子郵件傳送作業的結果。 其具有作業識別碼、作業狀態和錯誤物件 (適用時)。
EmailSendStatus 此類別代表電子郵件傳送作業的狀態集。

EmailSendResult 會對執行的電子郵件作業傳回下列狀態。

狀態名稱 描述
NOT_STARTED 我們目前不會從我們的服務傳送此狀態。
IN_PROGRESS 電子郵件傳送作業目前正在進行中並且正在進行處理。
SUCCESSFULLY_COMPLETED 電子郵件傳送作業已完成,沒有電子郵件無法傳遞的錯誤。 您可以透過 Azure 監視器或 Azure 事件方格,取得此階段以外電子郵件傳遞的任何詳細狀態。 了解如何訂閱電子郵件事件
失敗 電子郵件傳送作業未成功,且發生錯誤。 未傳送電子郵件。 結果包含錯誤物件,其中包含失敗原因的詳細資料。

必要條件

完成本快速入門後,您的 Azure 帳戶中會產生幾美分或更少的少許費用。

注意

我們也可以從自己的已驗證網域傳送電子郵件,將自訂已驗證網域新增至電子郵件通訊服務

先決條件檢查

  • 在終端機或命令視窗中執行 mvn -v,確認已安裝 Maven。
  • 若要檢視以您的電子郵件通訊服務資源驗證的網域,請登入 Azure 入口網站。 找出您的電子郵件通訊服務資源,然後從左側瀏覽窗格開啟 [佈建網域] 索引標籤。

設定應用程式環境

若要設定傳送電子郵件的環境,請執行下列各節中的步驟。

建立新的 Java 應用程式

開啟您的終端機或命令視窗,然後瀏覽至您想要在其中建立 Java 應用程式的目錄。 執行下列命令以從 maven-archetype-quickstart 範本產生 JAVA 專案。

mvn archetype:generate -DarchetypeArtifactId="maven-archetype-quickstart" -DarchetypeGroupId="org.apache.maven.archetypes" -DarchetypeVersion="1.4" -DgroupId="com.communication.quickstart" -DartifactId="communication-quickstart"

generate 目標會建立具有與 artifactId 值相同名稱的目錄。 在此目錄下,src/main/java 目錄包含專案原始程式碼,src/test/java 目錄 包含測試來源,而 pom.xml 檔案是專案的「專案物件模型」(POM)。

Install the package

在文字編輯器中開啟 pom.xml 檔案。 將下列相依性元素加入至相依性群組。

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-email</artifactId>
    <version>1.0.0-beta.2</version>
</dependency>

設定應用程式架構

在文字編輯器中開啟 /src/main/java/com/communication/quickstart/App.java、新增匯入指示詞,並移除 System.out.println("Hello world!"); 陳述式:

package com.communication.quickstart;

import com.azure.communication.email.models.*;
import com.azure.communication.email.*;
import com.azure.core.util.polling.PollResponse;
import com.azure.core.util.polling.SyncPoller;

public class App
{
    public static void main( String[] args )
    {
        // Quickstart code goes here.
    }
}

使用驗證建立電子郵件用戶端

有一些不同的選項可用來驗證電子郵件用戶端:

若要驗證用戶端,您可以使用連接字串具現化 EmailClient。 了解如何管理您資源的連接字串。 您也可以使用會實作 com.azure.core.http.HttpClient 介面的任何自訂 HTTP 用戶端來初始化用戶端。

若要具現化用戶端,請將下列程式碼新增至 main 方法:

// You can get your connection string from your resource in the Azure portal.
String connectionString = "endpoint=https://<resource-name>.communication.azure.com/;accesskey=<access-key>";

EmailClient emailClient = new EmailClientBuilder()
    .connectionString(connectionString)
    .buildClient();

為了簡單起見,本快速入門會使用連接字串,但在實際執行環境中,我們建議使用服務主體

傳送具有附件的電子郵件訊息

我們可以藉由定義 EmailAttachment 物件並將其新增至 EmailMessage 物件來新增附件。 讀取附件檔案,並使用 Base64 進行編碼。

BinaryData attachmentContent = BinaryData.fromFile(new File("C:/attachment.txt").toPath());
EmailAttachment attachment = new EmailAttachment(
    "attachment.txt",
    "text/plain",
    attachmentContent
);

EmailMessage message = new EmailMessage()
    .setSenderAddress("<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>")
    .setToRecipients("<emailalias@emaildomain.com>")
    .setSubject("Welcome to Azure Communication Services Email")
    .setBodyPlainText("This email message is sent from Azure Communication Services Email using the Java SDK.");
    .setAttachments(attachment);

SyncPoller<EmailSendResult, EmailSendResult> poller = emailClient.beginSend(message, null);
PollResponse<EmailSendResult> response = poller.waitForCompletion();

System.out.println("Operation Id: " + response.getValue().getId());

允許的 MIME 類型

如需電子郵件附件可接受 MIME 類型的詳細資訊,請參閱允許的 MIME 類型文件。

範例指令碼

您可以從 GitHub 下載示範此動作的範例應用程式

藉由使用通訊服務 Python 電子郵件 SDK 來傳送電子郵件訊息,以開始使用 Azure 通訊服務。

提示

透過直接跳至 GitHub 上的基本電子郵件傳送進階電子郵件傳送範例程式碼,立即開始透過 Azure 通訊服務的電子郵件傳送體驗。

了解電子郵件物件模型

下列 JSON 訊息範本與回應物件會示範適用於 Python 的 Azure 通訊服務電子郵件 SDK 的一些主要功能。

message = {
    "content": {
        "subject": "str",  # Subject of the email message. Required.
        "html": "str",  # Optional. Html version of the email message.
        "plainText": "str"  # Optional. Plain text version of the email
            message.
    },
    "recipients": {
        "to": [
            {
                "address": "str",  # Email address. Required.
                "displayName": "str"  # Optional. Email display name.
            }
        ],
        "bcc": [
            {
                "address": "str",  # Email address. Required.
                "displayName": "str"  # Optional. Email display name.
            }
        ],
        "cc": [
            {
                "address": "str",  # Email address. Required.
                "displayName": "str"  # Optional. Email display name.
            }
        ]
    },
    "senderAddress": "str",  # Sender email address from a verified domain. Required.
    "attachments": [
        {
            "name": "str"  # Name of the attachment. Required.
            "contentType": "str",  # MIME type of the content being attached. Required.
            "contentInBase64": "str",  # Base64 encoded contents of the attachment. Required.
            "contentId": "str" # Unique identifier (CID) to reference an inline attachment. Optional
        }
    ],
    "userEngagementTrackingDisabled": bool,  # Optional. Indicates whether user engagement tracking should be disabled for this request if the resource-level user engagement tracking setting was already enabled in the control plane.
    "headers": {
        "str": "str"  # Optional. Custom email headers to be passed.
    },
    "replyTo": [
        {
            "address": "str",  # Email address. Required.
            "displayName": "str"  # Optional. Email display name.
        }
    ]
}

response = {
    "id": "str",  # The unique id of the operation. Uses a UUID. Required.
    "status": "str",  # Status of operation. Required. Known values are:
        "NotStarted", "Running", "Succeeded", and "Failed".
    "error": {
        "additionalInfo": [
            {
                "info": {},  # Optional. The additional info.
                "type": "str"  # Optional. The additional info type.
            }
        ],
        "code": "str",  # Optional. The error code.
        "details": [
            ...
        ],
        "message": "str",  # Optional. The error message.
        "target": "str"  # Optional. The error target.
    }
}

下表會進一步說明 response.status 值。

狀態名稱 描述
進行中 電子郵件傳送作業目前正在進行中並且正在進行處理。
成功 電子郵件傳送作業已完成,沒有電子郵件無法傳遞的錯誤。 您可以透過 Azure 監視器或 Azure 事件方格,取得此階段以外電子郵件傳遞的任何詳細狀態。 了解如何訂閱電子郵件事件
失敗 電子郵件傳送作業未成功,且發生錯誤。 未傳送電子郵件。 結果包含錯誤物件,其中包含失敗原因的詳細資料。

必要條件

完成本快速入門後,您的 Azure 帳戶中會產生幾美分或更少的費用。

注意

我們也可以從自己的已驗證網域傳送電子郵件。 將自訂已驗證網域新增至電子郵件通訊服務

先決條件檢查

  • 在終端機或命令視窗中執行 python --version 命令,確認已安裝 Python。
  • 若要檢視以您的電子郵件通訊服務資源驗證的網域,請登入 Azure 入口網站。 找出您的電子郵件通訊服務資源,然後從左側瀏覽窗格開啟 [佈建網域] 索引標籤。

設定應用程式環境

若要設定傳送電子郵件的環境,請執行下列各節中的步驟。

建立新的 Python 應用程式

  1. 開啟您的終端機或命令視窗。 然後使用下列命令建立虛擬環境並啟動。 此命令會為您的應用程式建立新目錄。

    python -m venv email-quickstart
    
  2. 使用下列命令瀏覽至虛擬環境的根目錄並啟動。

    cd email-quickstart
    .\Scripts\activate
    
  3. 使用文字編輯器,在專案根目錄中建立名為 send-email.py 的檔案,然後新增程式的結構,包括基本例外狀況處理。

    import os
    from azure.communication.email import EmailClient
    
    try:
        # Quickstart code goes here.
    except Exception as ex:
        print('Exception:')
        print(ex)
    

在下列各節中,您會將本快速入門的所有原始程式碼新增至您建立的 send-email.py 檔案中。

Install the package

仍在應用程式目錄時,請使用下列命令安裝適用於 Python 的 Azure 通訊服務電子郵件 SDK 套件。

pip install azure-communication-email

使用驗證建立電子郵件用戶端

有一些不同的選項可用來驗證電子郵件用戶端:

使用連接字串具現化 EmailClient。 了解如何管理您資源的連接字串

# Create the EmailClient object that you use to send Email messages.
email_client = EmailClient.from_connection_string(<connection_string>)

為了簡單起見,本快速入門會使用連接字串,但在實際執行環境中,我們建議使用服務主體

傳送具有附件的電子郵件訊息

我們可以藉由定義 attachment 並將其新增至 message 物件的 attachments 來新增附件。 讀取附件檔案,並使用 Base64 進行編碼。 將位元組解碼為字串,並將其傳遞至 attachment 物件。

import base64

with open("<path-to-your-attachment>", "rb") as file:
    file_bytes_b64 = base64.b64encode(file.read())

message = {
    "content": {
        "subject": "This is the subject",
        "plainText": "This is the body",
        "html": "html><h1>This is the body</h1></html>"
    },
    "recipients": {
        "to": [
            {
                "address": "<recipient1@emaildomain.com>",
                "displayName": "Customer Name"
            }
        ]
    },
    "senderAddress": "<donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net>",
    "attachments": [
        {
            "name": "<your-attachment-name>",
            "contentType": "<your-attachment-mime-type>",
            "contentInBase64": file_bytes_b64.decode()
        }
    ]
}

poller = email_client.begin_send(message)
result = poller.result()

允許的 MIME 類型

如需電子郵件附件可接受 MIME 類型的詳細資訊,請參閱允許的 MIME 類型文件。

範例指令碼

您可以從 GitHub 下載示範此動作的範例應用程式

疑難排解

電子郵件傳遞

若要針對與電子郵件傳遞相關的問題進行疑難排解,您可以取得電子郵件傳遞的狀態以擷取傳遞的詳細資料。

重要

輪詢傳送作業狀態所傳回的成功結果只會驗證已成功傳送電子郵件以傳遞的事實。 若要取得收件者端傳遞狀態的其他資訊,您必須參考如何處理電子郵件事件

電子郵件節流

如果您看到應用程式已停止回應,可能是因為電子郵件傳送受到節流處理。 您可以透過記錄或實作自訂原則來處理此作業

注意

此沙箱設定是為了協助開發人員開始建置應用程式。 一旦應用程式準備好上線,您便可以逐漸要求增加傳送量。 如果您需要傳送超過比率限制的郵件訊息量,請提交支援要求來提高您想要的傳送限制量。

清除 Azure 通訊服務資源

如果您想要清除並移除通訊服務訂用帳戶,您可以刪除資源或資源群組。 刪除資源群組也會刪除與其相關聯的任何其他資源。 深入了解如何清除資源

下一步

在本快速入門中,您已瞭解如何使用 Azure 通訊服務 傳送具有附件的電子郵件。

您可能也會想要: