Поделиться через


Клиентская библиотека azure Communication Email для JavaScript версии 1.0.0

Этот пакет содержит пакет SDK для JavaScript или TypeScript для Службы коммуникации Azure для Email.

Начало работы

Предварительные требования

Вам потребуется подписка 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 Active Directory с помощью библиотеки удостоверений Azure. Чтобы использовать поставщик 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

Чтобы отправить сообщение электронной почты, вызовите функцию beginSend из EmailClient. Это вернет средство опроса. Это средство опроса можно использовать для проверка состояния операции и получения результата после ее завершения.

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.

В рамках этого проекта действуют правила поведения в отношении продуктов с открытым исходным кодом Майкрософт. Дополнительные сведения см. в разделе часто задаваемых вопросов о правилах поведения или обратитесь к opencode@microsoft.com с любыми дополнительными вопросами или комментариями.