你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于 JavaScript 的 Azure 通信Email客户端库 - 版本 1.0.0
此包包含适用于 Email Azure 通信服务 的 JavaScript/TypeScript SDK。
入门
先决条件
需要 Azure 订阅、通信服务资源和具有活动域的Email通信资源。
若要创建这些资源,可以使用 Azure 门户、Azure PowerShell或 .NET 管理客户端库。
安装
npm install @azure/communication-email
示例
EmailClient
提供发送电子邮件的功能。
身份验证
Email客户端可以使用从 Azure 门户中的 Azure 通信资源获取的连接字符串进行身份验证。
const { EmailClient } = require("@azure/communication-email");
const connectionString = `endpoint=https://<resource-name>.communication.azure.com/;accessKey=<Base64-Encoded-Key>`;
const client = new EmailClient(connectionString);
还可以使用 Azure 标识库对 Azure Active Directory 进行身份验证。 若要使用如下所示的 DefaultAzureCredential 提供程序或 Azure SDK 随附的其他凭据提供程序,请安装 @azure/identity
包:
npm install @azure/identity
@azure/identity
包提供应用程序可用于执行此操作的各种凭据类型。 @azure/identity 的自述文件提供了更多详细信息和示例来帮助你入门。
AZURE_CLIENT_SECRET,需要AZURE_CLIENT_ID和AZURE_TENANT_ID环境变量来创建 DefaultAzureCredential 对象。
import { DefaultAzureCredential } from "@azure/identity";
import { EmailClient } from "@azure/communication-email";
const endpoint = "https://<resource-name>.communication.azure.com";
let credential = new DefaultAzureCredential();
const client = new EmailClient(endpoint, credential);
发送Email消息
若要发送电子邮件,请从 EmailClient
调用 beginSend
函数。 这将返回投票器。 可以使用此轮询器检查操作的状态,并在操作完成后检索结果。
const message = {
senderAddress: "sender@contoso.com",
content: {
subject: "This is the subject",
plainText: "This is the body",
},
recipients: {
to: [
{
address: "customer@domain.com",
displayName: "Customer Name",
},
],
},
};
const poller = await emailClient.beginSend(message);
const response = await poller.pollUntilDone();
向多个收件人发送Email邮件
若要向多个收件人发送电子邮件,请为每个收件人类型添加一个 对象,为每个收件人添加一个 对象。
const message = {
senderAddress: "sender@contoso.com",
content: {
subject: "This is the subject",
plainText: "This is the body",
},
recipients: {
to: [
{
address: "customer1@domain.com",
displayName: "Customer Name 1",
},
{
address: "customer2@domain.com",
displayName: "Customer Name 2",
},
],
cc: [
{
address: "ccCustomer1@domain.com",
displayName: " CC Customer 1",
},
{
address: "ccCustomer2@domain.com",
displayName: "CC Customer 2",
},
],
bcc: [
{
address: "bccCustomer1@domain.com",
displayName: " BCC Customer 1",
},
{
address: "bccCustomer2@domain.com",
displayName: "BCC Customer 2",
},
],
},
};
const poller = await emailClient.beginSend(message);
const response = await poller.pollUntilDone();
使用附件发送Email
Azure 通信服务支持发送包含附件的电子邮件。
const filePath = "C://readme.txt";
const message = {
senderAddress: "sender@contoso.com",
content: {
subject: "This is the subject",
plainText: "This is the body",
},
recipients: {
to: [
{
address: "customer@domain.com",
displayName: "Customer Name",
},
],
},
attachments: [
{
name: path.basename(filePath),
contentType: "text/plain",
contentInBase64: readFileSync(filePath, "base64"),
},
],
};
const poller = await emailClient.beginSend(message);
const response = await poller.pollUntilDone();
后续步骤
贡献
本项目欢迎贡献和建议。 大多数贡献要求你同意贡献者许可协议 (CLA),并声明你有权(并且确实有权)授予我们使用你的贡献的权利。 有关详细信息,请访问 cla.microsoft.com。
此项目采用了 Microsoft 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答,或如果有任何其他问题或意见,请与 联系。