@jetemail/emdash
v0.1.1
Published
JetEmail email provider plugin for EmDash CMS
Maintainers
Readme
@jetemail/emdash
JetEmail email provider plugin for EmDash CMS.
Delivers transactional emails — authentication, notifications, form submissions, and more — through the JetEmail API.
Prerequisites
- An EmDash site
- A JetEmail account with a verified domain
- A transactional API key (get one from the JetEmail dashboard under Outbound > Keys)
Installation
npm install @jetemail/emdashSetup
1. Add the plugin to your Astro config
// astro.config.mjs
import { jetEmailPlugin } from "@jetemail/emdash/config";
// Add jetEmailPlugin() to your emdash plugins array:
emdash({
database: d1({ binding: "DB", session: "auto" }),
storage: r2({ binding: "MEDIA" }),
plugins: [formsPlugin(), jetEmailPlugin()],
// ...
}),You can optionally pass your API key at config time instead of setting it in the admin panel:
plugins: [jetEmailPlugin({ apiKey: process.env.JETEMAIL_API_KEY })],2. Configure via the admin panel
Navigate to Plugins > JetEmail in the EmDash admin panel and enter:
| Setting | Description |
|---------|-------------|
| API Key | Your JetEmail transactional API key (starts with transactional_). |
| From Address | The sender email address. Must be on a domain verified in your JetEmail account. |
| From Name | Display name shown to recipients (optional). |
3. Send a test email
Use the Send Test Email section on the plugin page to verify your configuration.
How it works
This plugin registers as an EmDash email provider using the email:deliver exclusive hook. When any part of EmDash sends an email — the auth system (magic links, password resets), the forms plugin, or any other plugin calling ctx.email.send() — JetEmail delivers it.
Capabilities
| Capability | Purpose |
|---|---|
| email:provide | Registers the email:deliver hook so EmDash routes all outgoing email through JetEmail |
| network:fetch | Allows HTTP requests to api.jetemail.com (restricted by allowedHosts) |
Plugin routes
| Route | Description |
|---|---|
| settings/get | Returns current plugin settings |
| settings/save | Saves plugin settings |
| status | Returns whether the plugin is configured |
| test | Sends a test email |
Support
If you need help, visit our support center.
