Share via


Biblioteca de cliente do Azure Communication Email para JavaScript – versão 1.0.0

Este pacote contém um SDK JavaScript/TypeScript para Azure Communication Services para Email.

Introdução

Pré-requisitos

Precisa de uma subscrição do Azure, de um Recurso do Serviço de Comunicação e de um Recurso de Comunicação Email com um Domínio ativo.

Para criar estes recursos, pode utilizar o Portal do Azure, o Azure PowerShell ou a biblioteca de cliente de gestão .NET.

Instalação

npm install @azure/communication-email

Exemplos

EmailClient fornece a funcionalidade para enviar mensagens de e-mail.

Autenticação

Email clientes podem ser autenticados com a cadeia de ligação adquirida a partir 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);

Também pode autenticar com o Azure Active Directory através da biblioteca de Identidades do Azure. Para utilizar o fornecedor DefaultAzureCredential mostrado abaixo ou outros fornecedores 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 a sua aplicação pode utilizar para o fazer. O README para @azure/identity fornece mais detalhes e exemplos para começar. AZURE_CLIENT_SECRET, são necessárias variáveis de ambiente AZURE_CLIENT_ID e AZURE_TENANT_ID 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 uma mensagem de e-mail, chame a função a beginSendEmailClientpartir de . Isto irá devolver um poller. Pode utilizar este poller para verificar o estado da operação e obter o resultado assim que terminar.

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 e-mail 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

Azure Communication Services suporte para o envio de e-mails 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();

Passos seguintes

Contribuir

Agradecemos todas as contribuições e sugestões para este projeto. A maioria das contribuições requerem que celebre um Contrato de Licença de Contribuição (CLA) no qual se declare que tem o direito de conceder e que, na verdade, concede-nos os direitos para utilizar a sua contribuição. Para obter detalhes, visite cla.microsoft.com.

Este projeto adotou o Microsoft Open Source Code of Conduct (Código de Conduta do Microsoft Open Source). Para obter mais informações, consulte as FAQ do Código de Conduta ou contacte opencode@microsoft.com com quaisquer perguntas ou comentários adicionais.