使用Azure通信服务中电子邮件通信服务资源发送邮件
一:使用门户创建电子邮件通信服务资源
- 导航到 Azure 门户以创建新资源。
- 搜索“电子邮件通信服务”并按 Enter。 选择“电子邮件通信服务”,然后按“创建”
- 在“基本信息”选项卡上填写必需的信息:
- 等待验证通过。 单击“创建”
- 等待部署完成。 单击“转到资源”会进入“电子邮件通信服务概述”页。
第二步:添加自定义域并加入电子邮件通信服务和验证电子邮件域
第三步:如何将已验证的电子邮件域与 Azure 通信服务资源相连接
第四步:使用 Azure 通信服务发送电子邮件
1:使用NuGet安装适用于 .NET 包的 Azure 通信服务电子邮件客户端库Azure.Communication.Email
// 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 | 此类包含电子邮件传递状态的列表。 |