Megosztás a következőn keresztül:


Azure Communication Email ügyféloldali kódtár JavaScripthez – 1.1.0-s verzió

Ez a csomag tartalmaz egy JavaScript/TypeScript SDK-t az Azure Communication Services for Emailhez.

Kezdő lépések

Előfeltételek

Szüksége van egy Azure-előfizetésre, egy kommunikációs szolgáltatási erőforrásra és egy aktív tartománnyal rendelkező e-mail-kommunikációs erőforrásra.

Ezen erőforrások létrehozásához használhatja a Azure Portal, a Azure PowerShell vagy a .NET felügyeleti ügyféloldali kódtárat.

Telepítése

npm install @azure/communication-email

Példák

EmailClient Biztosítja az e-mail üzenetek küldésének funkcióját.

Authentication

Az e-mail-ügyfelek a Azure Portal egy Azure kommunikációs erőforrásból beszerzett kapcsolati sztring használatával hitelesíthetők.

import { EmailClient } from "@azure/communication-email";

const connectionString = `endpoint=https://<resource-name>.communication.azure.com/;accessKey=<Base64-Encoded-Key>`;
const client = new EmailClient(connectionString);

A Azure Active Directory használatával is hitelesítheti magát az Azure Identity kódtár használatával. Az alább látható DefaultAzureCredential szolgáltató vagy az Azure SDK által biztosított egyéb hitelesítő adatok szolgáltatójának használatához telepítse a @azure/identity csomagot:

npm install @azure/identity

A @azure/identity csomag számos hitelesítő adattípust biztosít, amelyeket az alkalmazás használhat erre. A @azure/identity README további részleteket és mintákat tartalmaz az első lépésekhez. AZURE_CLIENT_SECRET, AZURE_CLIENT_ID és AZURE_TENANT_ID környezeti változókra van szükség egy DefaultAzureCredential objektum létrehozásához.

import { DefaultAzureCredential } from "@azure/identity";
import { EmailClient } from "@azure/communication-email";

const endpoint = "https://<resource-name>.communication.azure.com";
const credential = new DefaultAzureCredential();
const client = new EmailClient(endpoint, credential);

E-mail küldése

E-mail küldéséhez hívja meg a beginSend függvényt a EmailClient. Ez egy közvélemény-kutatót ad vissza. Ezzel a lekérdezéssel ellenőrizheti a művelet állapotát, és lekérheti az eredményt, miután befejeződött.

import { DefaultAzureCredential } from "@azure/identity";
import { EmailClient } from "@azure/communication-email";

const endpoint = "https://<resource-name>.communication.azure.com";
const credential = new DefaultAzureCredential();
const client = new EmailClient(endpoint, credential);

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 client.beginSend(message);
const response = await poller.pollUntilDone();

E-mail küldése több címzettnek

Ha több címzettnek szeretne e-mailt küldeni, adjon hozzá egy objektumot minden címzetttípushoz, és egy objektumot minden címzetthez.

import { DefaultAzureCredential } from "@azure/identity";
import { EmailClient } from "@azure/communication-email";

const endpoint = "https://<resource-name>.communication.azure.com";
const credential = new DefaultAzureCredential();
const client = new EmailClient(endpoint, credential);

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 client.beginSend(message);
const response = await poller.pollUntilDone();

E-mail küldése mellékletekkel

Azure Communication Services támogatja az e-mailek mellékletekkel való küldését.

import { DefaultAzureCredential } from "@azure/identity";
import { EmailClient } from "@azure/communication-email";
import { basename } from "node:path";
import { readFileSync } from "node:fs";

const endpoint = "https://<resource-name>.communication.azure.com";
const credential = new DefaultAzureCredential();
const client = new EmailClient(endpoint, credential);

const filePath = "path/to/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: basename(filePath),
      contentType: "text/plain",
      contentInBase64: readFileSync(filePath, "base64"),
    },
  ],
};

const poller = await client.beginSend(message);
const response = await poller.pollUntilDone();

E-mail küldése beágyazott mellékletekkel

Azure Communication Services támogatja az e-mailek beágyazott mellékletekkel való küldését. Ha opcionális paramétert contentId ad hozzá az an-hez attachment , akkor beágyazott melléklet lesz.

import { DefaultAzureCredential } from "@azure/identity";
import { EmailClient } from "@azure/communication-email";
import { readFileSync } from "node:fs";

const endpoint = "https://<resource-name>.communication.azure.com";
const credential = new DefaultAzureCredential();
const client = new EmailClient(endpoint, credential);

const imageBuffer = readFileSync("path/to/my_inline_image.jpg");
const contentInBase64 = imageBuffer.toString("base64");

const message = {
  senderAddress: "sender@contoso.com",
  content: {
    subject: "This is the subject",
    plainText: "This is the body",
    html: '<html>This is the body<br /><img src="cid:inline_image" /></html>',
  },
  recipients: {
    to: [
      {
        address: "customer@domain.com",
        displayName: "Customer Name",
      },
    ],
  },
  attachments: [
    {
      name: "my_inline_image.jpg",
      contentType: "image/jpeg",
      contentInBase64: contentInBase64,
      contentId: "inline_image",
    },
  ],
};

const poller = await client.beginSend(message);
const response = await poller.pollUntilDone();

Hibaelhárítás

Logging

A naplózás engedélyezése segíthet a hibákról szóló hasznos információk feltárásában. A HTTP-kérések és válaszok naplójának megtekintéséhez állítsa a környezeti változót a AZURE_LOG_LEVEL következőre info: . Alternatívaként a naplózás futásidőben is engedélyezhető a setLogLevel hívásával a @azure/logger.

import { setLogLevel } from "@azure/logger";

setLogLevel("info");

Következő lépések

Közreműködés

Ez a projekt üdvözli a hozzájárulásokat és javaslatokat. A legtöbb hozzájárulás megköveteli, hogy elfogadja a közreműködői licencszerződést (CLA), amely kimondja, hogy önnek joga van a hozzájárulás használatára, és valóban meg kell adnia nekünk a jogosultságokat a hozzájárulás használatára. A részletekért látogasson el a cla.microsoft.com oldalra.

Ez a projekt a Microsoft nyílt forráskóddal kapcsolatos viselkedési szabályzata alapján működik. További információkért lásd a magatartási kódexével kapcsolatos gyakori kérdéseket, vagy további kérdésekkel vagy megjegyzésekkel forduljon opencode@microsoft.com.