適用于 JavaScript 的 Azure 通訊Email用戶端程式庫 - 1.0.0 版
此套件包含適用于 Email Azure 通訊服務 的 JavaScript/TypeScript SDK。
開始使用
Prerequisites
您需要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 Open Source Code of Conduct (Microsoft 開放原始碼管理辦法)。 如需詳細資訊,請參閱管理辦法常見問題集,如有任何其他問題或意見請連絡 opencode@microsoft.com。