Biblioteca de clientes do Email de Comunicação do Azure para JavaScript – versão 1.0.0

Esse pacote contém um SDK do JavaScript/TypeScript para Serviços de Comunicação do Azure para Email.

Introdução

Pré-requisitos

Você precisa de uma assinatura do Azure, um Recurso do Serviço de Comunicação e um recurso de comunicação Email com um domínio ativo.

Para criar esses recursos, você pode usar o Portal do Azure, o Azure PowerShell ou a biblioteca de clientes de gerenciamento do .NET.

Instalando o

npm install @azure/communication-email

Exemplos

EmailClient fornece a funcionalidade para enviar mensagens de email.

Autenticação

Email clientes podem ser autenticados usando a cadeia de conexão adquirida de um Recurso de Comunicação do Azure no Portal do 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);

Você também pode autenticar com o Azure Active Directory usando a biblioteca de identidade do Azure. Para usar o provedor DefaultAzureCredential mostrado abaixo ou outros provedores de credenciais fornecidos com o SDK do Azure, instale o @azure/identity pacote:

npm install @azure/identity

O @azure/identity pacote fornece uma variedade de tipos de credenciais que seu aplicativo pode usar para fazer isso. O arquivo LEIAME para @azure/identity fornece mais detalhes e exemplos para você começar. AZURE_CLIENT_SECRET, AZURE_CLIENT_ID e variáveis de ambiente AZURE_TENANT_ID são necessárias para criar um objeto 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);

Enviar uma mensagem de Email

Para enviar um e-mail, busque a beginSend função do EmailClient. Isso retornará um sondador. Você pode usar esse sondador para marcar no status da operação e recuperar o resultado depois que ele for concluído.

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();

Enviar uma mensagem de Email para vários destinatários

Para enviar uma mensagem de email a vários destinatários, adicione um objeto para cada tipo de destinatário e um objeto para cada destinatário.

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();

Enviar Email com anexos

Serviços de Comunicação do Azure dar suporte ao envio de email com anexos.

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();

Próximas etapas

Contribuição

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite cla.microsoft.com.

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.