Bagikan melalui


Pustaka klien Azure Communication Email untuk JavaScript - versi 1.0.0

Paket ini berisi JavaScript/TypeScript SDK untuk Azure Communication Services untuk Email.

Memulai

Prasyarat

Anda memerlukan langganan Azure, Sumber Daya Communication Service, dan Sumber Daya Komunikasi Email dengan Domain aktif.

Untuk membuat sumber daya ini, Anda dapat menggunakan Portal Microsoft Azure, Azure PowerShell, atau pustaka klien manajemen .NET.

Menginstal

npm install @azure/communication-email

Contoh

EmailClient menyediakan fungsionalitas untuk mengirim pesan email.

Autentikasi

Email klien dapat diautentikasi menggunakan string koneksi yang diperoleh dari Sumber Daya Komunikasi Azure di Portal Microsoft 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);

Anda juga dapat mengautentikasi dengan Azure Active Directory menggunakan pustaka Azure Identity. Untuk menggunakan penyedia DefaultAzureCredential yang ditunjukkan di bawah ini, atau penyedia kredensial lain yang disediakan dengan Azure SDK, instal @azure/identity paket:

npm install @azure/identity

Paket ini @azure/identity menyediakan berbagai jenis kredensial yang dapat digunakan aplikasi Anda untuk melakukan ini. README untuk @azure/identity memberikan detail dan sampel lebih lanjut untuk memulai. AZURE_CLIENT_SECRET, AZURE_CLIENT_ID, dan variabel lingkungan AZURE_TENANT_ID diperlukan untuk membuat objek 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);

Mengirim Pesan Email

Untuk mengirim pesan email, panggil beginSend fungsi dari EmailClient. Ini akan mengembalikan poller. Anda dapat menggunakan poller ini untuk memeriksa status operasi dan mengambil hasilnya setelah selesai.

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

Mengirim Pesan Email ke Beberapa Penerima

Untuk mengirim pesan email ke beberapa penerima, tambahkan objek untuk setiap jenis penerima dan objek untuk setiap penerima.

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

Kirim Email dengan Lampiran

Azure Communication Services mendukung pengiriman email dengan lampiran.

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

Langkah berikutnya

Berkontribusi

Proyek ini menyambut baik kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda menyetujui Perjanjian Lisensi Kontributor (CLA) yang menyatakan bahwa Anda memiliki hak untuk, dan benar-benar melakukannya, memberi kami hak untuk menggunakan kontribusi Anda. Untuk detailnya, kunjungi cla.microsoft.com.

Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft. Untuk informasi selengkapnya, lihat Tanya Jawab Umum Tata Tertib atau hubungi opencode@microsoft.com untuk pertanyaan atau komentar lainnya.