payload-email-azure
TypeScript icon, indicating that this package has built-in type declarations

0.1.3 • Public • Published

Azure Email Communication Services Adapter

This adapter allows you to send emails using Azure Email Communication Services

Installation

pnpm add payload-email-azure

Prerequesites

  1. An Azure account with an active subscription.
  2. An Azure Email Communication Services resource created and ready with a provisioned domain.
  3. An active Azure Communication Services resource connected to an Email Domain and its connection string. Get started by connecting an Email Communication Resource with a Azure Communication Resource
import { azureEmailAdapter } from "payload-email-azure";

export default buildConfig({
  email: azureEmailAdapter({
    defaultFromAddress: "DoNotReply@notify.example.com",
    connectionString: process.env.AZURE_EMAIL_CONNECTION_STRING,
  }),
});

Note: The defaultFromAddress must match one of the pre-configured EmailFrom addresses in your Azure Communication Service resource.

Authentication

There are a few different options available for authenticating an email client with Azure.

Using Connection String

import { azureEmailAdapter } from "payload-email-azure";

export default buildConfig({
  email: azureEmailAdapter({
    defaultFromAddress: "noreply@notify.example.com",
    connectionString: process.env.AZURE_EMAIL_CONNECTION_STRING,
  }),
});

Using Microsoft Entra ID

You may also choose to authenticate with Microsoft Entra ID using the @azure/identity package.

import { azureEmailAdapter } from "payload-email-azure";
import { DefaultAzureCredential } from "@azure/identity";

export default buildConfig({
  email: azureEmailAdapter({
    defaultFromAddress: "noreply@notify.example.com",
    endpoint: process.env.AZURE_EMAIL_ENDPOINT,
    // The DefaultAzureCredential uses the following environment variables:
    // AZURE_CLIENT_SECRET, AZURE_CLIENT_ID and AZURE_TENANT_ID
    credential: new DefaultAzureCredential(),
  }),
});

Using Azure Key Credentials

You can also choose to authenticate the email client using an AzureKeyCredential. Both the key and the endpoint can be founded on the "Keys" pane under "Settings" in your Communication Services Resource.

import { azureEmailAdapter } from "payload-email-azure";
import { AzureKeyCredential } from "@azure/core-auth";

export default buildConfig({
  email: azureEmailAdapter({
    defaultFromAddress: "noreply@notify.example.com",
    endpoint: process.env.AZURE_EMAIL_ENDPOINT,
    credential: new AzureKeyCredential(process.env.AZURE_EMAIL_KEY),
  }),
});

Dependents (0)

Package Sidebar

Install

npm i payload-email-azure

Weekly Downloads

0

Version

0.1.3

License

ISC

Unpacked Size

17.8 kB

Total Files

6

Last publish

Collaborators

  • vixalienorg