一:使用门户创建电子邮件通信服务资源

  1. 导航到 Azure 门户以创建新资源。
  2. 搜索“电子邮件通信服务”并按 Enter。 选择“电子邮件通信服务”,然后按“创建”

    Screenshot that shows how to search Email Communication Service in market place.

    Screenshot that shows Create link to create Email Communication Service.

  3. 在“基本信息”选项卡上填写必需的信息:
    • 选择现有的 Azure 订阅。
    • 选择现有的资源组,或单击“新建”链接创建新的资源组。
    • 为资源提供有效名称。
    • 选择“美国”作为数据位置。
    • 若要添加标记,请单击“下一步: 标记”
      • 添加任何名称/值对。
    • 单击“下一步: 查看 + 创建”。

      Screenshot that shows how to the summary for review and create Email Communication Service.

  4. 等待验证通过。 单击“创建”
  5. 等待部署完成。 单击“转到资源”会进入“电子邮件通信服务概述”页。

    Screenshot that shows the overview of Email Communication Service resource.

第二步:添加自定义域并加入电子邮件通信服务和验证电子邮件域

第三步:如何将已验证的电子邮件域与 Azure 通信服务资源相连接

第四步:使用 Azure 通信服务发送电子邮件
1:使用NuGet安装适用于 .NET 包的 Azure 通信服务电子邮件客户端库Azure.Communication.Email
发送邮件代码示例:
其中的连接字符串可以从通信服务的Key(密钥)页面获取
// 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);
//Replace with your domain and modify the content, recipient details as required


EmailContent emailContent = new EmailContent("Welcome to Azure Communication Service Email APIs.");
emailContent.PlainText = "This email message is sent from Azure Communication Service Email using .NET SDK.";
List<EmailAddress> emailAddresses = new List<EmailAddress> { new EmailAddress("[email protected]") { DisplayName = "Friendly Display Name" }};
EmailRecipients emailRecipients = new EmailRecipients(emailAddresses);
EmailMessage emailMessage = new EmailMessage("[email protected]", emailContent, emailRecipients);
SendEmailResult emailResult = emailClient.Send(emailMessage,CancellationToken.None);
Response<SendStatusResult> messageStatus = null;
messageStatus = emailClient.GetSendStatus(emailResult.MessageId);
Console.WriteLine($"MessageStatus = {messageStatus.Value.Status}");
TimeSpan duration = TimeSpan.FromMinutes(3);
long start = DateTime.Now.Ticks;
do
{
    messageStatus = emailClient.GetSendStatus(emailResult.MessageId);
    if (messageStatus.Value.Status != SendStatus.Queued)
    {
        Console.WriteLine($"MessageStatus = {messageStatus.Value.Status}");
        break;
    }
    Thread.Sleep(10000);
    Console.WriteLine($"...");


} while (DateTime.Now.Ticks - start < duration.Ticks);

对象模型

以下类和接口处理适用于 C# 的 Azure 通信服务电子邮件客户端库的某些主要功能。

名称 说明
EmailAddress 此类包含一个电子邮件地址和一个显示名称选项。
EmailAttachment 此类通过接受唯一 ID、电子邮件附件类型和内容字节字符串来创建电子邮件附件。
EmailClient 所有电子邮件功能需要此类。 使用连接字符串将其实例化,然后使用它来发送电子邮件。
EmailClientOptions 可将此类添加到EmailClient 实例化以面向特定的 API 版本。
EmailContent 此类包含电子邮件的主题和正文。 还可以在 EmailContent 类中设置重要性。
EmailCustomHeader 使用此类可为自定义标头添加名称和值对。
EmailMessage 此类合并发件人、内容和收件人。 还可以选择添加自定义标头、附件和回复电子邮件地址。
EmailRecipients 此类包含电子邮件收件人的 EmailAddress 对象列表,包括“抄送”和“密件抄送”收件人的可选列表。
SendStatusResult 此类包含电子邮件传递状态的列表。