An email adapter for Payload that routes all outgoing mail through the eusend REST API instead of SMTP, so it works on serverless hosts. It is set as the email option in the Payload config with an API key and default sender. Supports Payload 3 and 4, and the sender domain must be verified on the eusend account.
Payload CMS email adapter for eusend — EU-native transactional email, delivered from the EU.
Installation
npm i @eusend_dev/payload-email1
Stars
0
Forks
0
Open Issues
1 months ago
Last Updated
4
Weekly Downloads
v0.1.0
npm Version
26.8 KB
Unpacked Size
1
Dependencies
Trends appear after 7 days of data. Collecting since Oct 22 — 1 daily snapshot so far.
Trends appear after 7 days of data. Collecting since Oct 22 — 1 daily snapshot so far.
Each point is npm's rolling 7-day download count.
Health Score
Composite score based on GitHub activity, stars, npm downloads, publish recency, dependency count, and package size.
Badge for your README
[](https://payloaddirectory.dev/plugins/1360041590-root)<a href="https://payloaddirectory.dev/plugins/1360041590-root"><img src="https://payloaddirectory.dev/badge/1360041590-root.svg" alt="Payload Directory"></a>README
Payload CMS email adapter for eusend — EU-native transactional email, sent and stored inside the EU.
It talks to the eusend REST API rather than SMTP, so it works on serverless the way
@payloadcms/email-nodemailer does not.
npm install @eusend_dev/payload-email
import { buildConfig } from 'payload'
import { eusendAdapter } from '@eusend_dev/payload-email'
export default buildConfig({
email: eusendAdapter({
apiKey: process.env.EUSEND_API_KEY || '',
defaultFromAddress: '[email protected]',
defaultFromName: 'Your app',
}),
})
Every email Payload sends — verification, password reset, and anything you send yourself with
payload.sendEmail() — then goes through eusend.
| Option | Required | What it does |
|---|---|---|
apiKey | yes | An eusend API key. |
defaultFromAddress | yes | Sender used when a message sets no from. Its domain must be verified on your eusend account. |
defaultFromName | yes | Display name paired with defaultFromAddress. |
overrideRecipientAddress | no | Redirect every message to one address. cc and bcc are dropped with the real recipients. |
tags | no | Tags added to every send, e.g. { source: 'payload' }. They filter the log and reach webhooks. |
trackOpens / trackClicks | no | Per-adapter tracking overrides. Defaults to whatever the account is configured for. |
baseUrl | no | Override the API host. Only useful against a staging deployment. |
payload.sendEmail() takes nodemailer's attachment shape, and all four forms work:
await payload.sendEmail({
to: '[email protected]',
subject: 'Your invoice',
html: '<p>Attached.</p>',
attachments: [
{ filename: 'invoice.pdf', content: pdfBuffer }, // raw bytes
{ filename: 'notes.txt', content: 'plain text' }, // encoded for you
{ path: 'https://example.com/invoice.pdf' }, // fetched at send time
{ path: '/var/data/invoice.pdf' }, // read from disk
],
})
A string content is read as UTF-8 unless you pass encoding: 'base64', matching nodemailer
rather than assuming the string is already base64. Set cid to reference an attachment from
your HTML as <img src="cid:...">.
A failed send throws Payload's APIError with the HTTP status and the eusend error code:
Error sending email: DOMAIN_NOT_VERIFIED - Domain not verified
The error-code reference explains each one.
MIT
payload usesend
Email adapter that sends Payload emails through the open-source, self-hostable useSend API
84511/wk8v3
payload order emails
Transactional emails on Payload order creation and status changes, with overridable templates
571/wk1v3
payload plugin easyemail
Visual EasyEmail Pro template editor and starter library in a dedicated Payload admin workspace
374/wk2v3
payload email ahasend
Email adapter that sends Payload CMS emails through the AhaSend API, with support for API v1 and v2
371/wk1v3
payload email template
Visual, block-based email template builder for Payload CMS powered by React Email
078/wk33v3
payload unsend
Email adapter that sends Payload CMS emails through the Unsend REST API
02/wk3v3