Mail API

E-mail transazionali tramite API HTTP: Brevo, Mailgun, Mailjet, Maileroo, Postmark, Mailchimp, Resend, SendGrid, MailerSend, Scaleway.

Estensione

Mail API

E-mail transazionali tramite API HTTP: Brevo, Mailgun, Mailjet, Maileroo, Postmark, Mailchimp, Resend, SendGrid, MailerSend, Scaleway.

  • Categoria: email
  • Stato: Disponibile
  • Versione: 0.3.1
  • Prezzo: Sconosciuto
  • Fonte: Registro ufficiale dei plugin
  • Installazione: Plugin sandbox del registro
  • Verificato: 2026-10-21

Descrizione

Mail API rende l’API HTTP del tuo provider e-mail il trasporto e-mail di EmDash. Link di accesso, inviti ed e-mail dei plugin partono tramite Brevo, Mailgun, Postmark o un altro servizio, senza server SMTP.

Funzionalità

  • 10 provider: Brevo, Mailgun, Mailjet, Maileroo, Postmark, Mailchimp Transactional (Mandrill), Resend, SendGrid, MailerSend e Scaleway TEM.
  • Mittenti verificati: scegli un indirizzo o un dominio verificato dal tuo provider, oppure digitane uno.
  • Stato dell’account: piano, crediti, quote e reputazione, letti dall’API del provider.
  • Errori su cui puoi agire: il messaggio del provider stesso, con lo stato HTTP, il codice di errore, un suggerimento, un link alla pagina che risolve il problema e la risposta grezza.
  • Coda di nuovi tentativi: quando il provider non è disponibile o applica un limite di frequenza, l’e-mail attende in una coda cifrata e viene rinviata con un ritardo crescente.
  • Cronologia e registri: ogni invio con il suo stato, ID del messaggio, tentativi e durata, con filtri, Reinvia, un grafico a 14 giorni e un widget della dashboard.
  • Modulo di prova nella pagina di ogni provider.
  • Cifrato: le chiavi API sono segreti di EmDash, il contenuto conservato delle e-mail è cifrato e le e-mail di accesso non vengono mai conservate.
  • Amministrazione in inglese, francese e tedesco, utilizzabile da smartphone.

Provider

ProviderCredenzialiMittenti elencatiStato dell’account
BrevoChiave APIIndirizziPiano, crediti
MailgunChiave API, dominio, regioneDominioStato del dominio
MailjetChiave API, chiave segretaIndirizzi, dominiNo
MailerooChiave di invioNoNo
PostmarkToken del serverNoServer, modalità
Mailchimp TransactionalChiave MandrillDominiReputazione, quota
ResendChiave APIDominiPiano, quote
SendGridChiave APIIndirizzi, dominiPiano, crediti
MailerSendToken APIIndirizzi, dominiQuota API
Scaleway TEMChiave segreta, ID progettoDominiOfferta, utilizzo

Dove i mittenti non sono elencati, digita l’indirizzo.

Installazione

Requisiti

  • EmDash 1.3.0 o successivo con un runner sandbox per i plugin: Cloudflare Worker Loader (piano Workers Paid) oppure @emdash-cms/sandbox-workerd su Node.js.
  • EMDASH_ENCRYPTION_KEY sul sito: cifra le chiavi API. Creane una con npx emdash secrets generate e, su Cloudflare, salvala con wrangler secret put EMDASH_ENCRYPTION_KEY. Conserva una copia in un gestore di segreti: senza di essa un backup del database è inutile.
  • Uno scheduler per la coda di nuovi tentativi: integrato su Node.js. Su Cloudflare, un cron trigger * * * * * e l’handler scheduled (i modelli EmDash includono entrambi).
  • Un account e una chiave API presso uno dei provider supportati.

Installare

  1. Installa Mail API dal registro dei plugin.
  2. Controlla le autorizzazioni e conferma: richieste solo agli host API dei provider e consegna delle e-mail di EmDash.

In alternativa da npm: pnpm add @devbitme/emdash-plugin-apimail, poi aggiungi l’import predefinito a sandboxed: [...] nell’integrazione emdash() di astro.config.mjs.

Configurare

  1. Nell’amministrazione, apri Mail API, poi Configure sul tuo provider.
  2. Incolla la o le chiavi e salva. La sezione Account conferma che la chiave funziona.
  3. In Send a test email, scegli un mittente verificato, inserisci il tuo indirizzo e invia. Lascia attivo Use as the default sender per mantenere quel mittente.
  4. Fai clic su Activate sulla scheda del provider nell’elenco.
  5. Se sono installati più trasporti e-mail, seleziona Mail API in Settings → Email. Con astro dev, il trasporto console di EmDash conta come uno.

Impostazioni

La scheda Queue & history imposta per quanto tempo un’e-mail può restare in coda (per impostazione predefinita 15 minuti per le e-mail di accesso, 24 ore per le altre), se conservare il contenuto delle e-mail e per quanto tempo conservare cronologia e registri (30 giorni per impostazione predefinita).

Documentazione completa: https://git.devbit.me/devbit.me/emdash-plugin-apimail

Domande frequenti

Mi serve un server SMTP?

No. Mail API chiama l’API HTTP del provider tramite HTTPS, quindi funziona anche dove SMTP non è disponibile, come su Cloudflare Workers.

«Send test email» di EmDash dice solo «Failed to send test email».

Usa il modulo Send a test email nella pagina del provider: mostra il messaggio del provider, un suggerimento e la risposta grezza. L’errore è anche in Logs e nel registro del server.

L’elenco dei mittenti è vuoto o mostra HTTP 401 o 403.

La chiave può inviare ma non elencare i mittenti. Resend richiede una chiave Full access, SendGrid l’accesso in lettura a Sender Authentication e User Account, MailerSend Domains e Sender identity, Scaleway TransactionalEmailReadOnly e Mailgun la chiave dell’account anziché una chiave di invio del dominio. Puoi comunque digitare l’indirizzo del mittente.

L’errore dice che l’indirizzo IP non è consentito.

Aggiungi l’IP in uscita del tuo host alla lista di autorizzazione del provider, oppure disattiva la restrizione. L’errore contiene un link alla pagina giusta.

Cosa succede quando il provider non è disponibile?

Errori di rete, timeout, HTTP 429 e 5xx mettono l’e-mail in una coda cifrata. Viene ritentata dopo 1, 5, 15 e 30 min, poi 1 h, 2 h e ogni 4 h, tramite il provider attivo in quel momento. Le e-mail di accesso scadono dopo 15 minuti, le altre dopo 24 ore. Gli errori permanenti, come una chiave non valida o un destinatario rifiutato, non vengono ritentati.

La coda non viene mai eseguita.

Apri la scheda Security di Mail API: elenca le attività pianificate e ha un pulsante Repair. Su Cloudflare, controlla il cron trigger e l’handler scheduled.

Il contenuto delle mie e-mail viene memorizzato?

Solo mentre attende in coda, oppure nella cronologia se attivi Keep email content in the history. In entrambi i casi è cifrato. Le e-mail di accesso e di invito non vengono mai conservate dopo l’invio.

Posso usare più provider?

Sì. Configurane diversi e fai clic su Activate su quello che invia. Durante un’interruzione, attivane un altro: le e-mail in coda vengono rinviate tramite quest’ultimo.

Sicurezza

Segnalare una vulnerabilità

Scrivi a [email protected]. Ti preghiamo di non aprire prima una issue pubblica.

Autorizzazioni

  • Richieste di rete, limitate agli host API dei provider: api.brevo.com, api.mailgun.net, api.eu.mailgun.net, api.mailjet.com, api.us.mailjet.com, smtp.maileroo.com, api.postmarkapp.com, mandrillapp.com, api.resend.com, api.sendgrid.com, api.eu.sendgrid.com, api.mailersend.com, api.scaleway.com.
  • Trasporto e-mail: EmDash consegna le sue e-mail in uscita al plugin, che le invia tramite il provider attivo.

Il plugin viene eseguito nella sandbox di EmDash e non può raggiungere nient’altro.

Chiavi API

Le chiavi API sono impostazioni segrete di EmDash, cifrate con AES-GCM tramite la EMDASH_ENCRYPTION_KEY del sito. Una chiave salvata non torna mai al browser: l’amministrazione ne mostra solo gli ultimi 5 caratteri. Qualsiasi segreto configurato che un provider ripete in un messaggio di errore viene mascherato.

Dati memorizzati

  • Cronologia: destinatario, oggetto, provider, stato, ID del messaggio, tentativi, durata ed errore. Eliminata dopo 30 giorni per impostazione predefinita.
  • Contenuto delle e-mail: conservato solo mentre l’e-mail attende in coda, oppure nella cronologia se lo attivi. È cifrato con AES-GCM tramite una chiave casuale a 256 bit, a sua volta memorizzata come segreto di EmDash. Le e-mail di accesso e di invito non vengono mai conservate dopo l’invio.
  • Registri: errori, esecuzioni ed eliminazioni della coda, eliminati insieme alla cronologia.
  • Mittenti verificati e stato dell’account: memorizzati nella cache dello storage del plugin con un’impronta delle impostazioni, mai una chiave.

Le e-mail vanno solo all’API del provider attivo. Nient’altro lascia il sito.

Route pubblica

Una route è pubblica: GET /_emdash/api/plugins/apimail/logo?p=. Serve i loghi dei provider inclusi nel plugin e non legge alcun dato.

Amministrazione

Le pagine di amministrazione usano una route privata: prima che il plugin venga eseguito, EmDash richiede un utente autenticato autorizzato a gestire i plugin e l’intestazione CSRF.

Registro delle modifiche

0.3.1

  • Tre schede provider per riga invece di due: un elenco più compatto su desktop.
  • Un link Website su ogni scheda provider, aperto in una nuova scheda.
  • Set as default diventa Activate, abbastanza corto per una scheda su smartphone.
  • La pagina di un provider si apre subito dai dati salvati, con la loro età. Il provider viene chiamato solo quando viene salvata una chiave o con **Refresh from **, e un messaggio indica quanto è durata la chiamata.

0.3.0

  • Pulsante Set as default sulla scheda di ogni provider configurato.
  • Una lettura non riuscita dei mittenti verificati o dello stato dell’account viene scritta nei registri e ritentata al successivo caricamento della pagina, a meno che alla chiave manchi l’autorizzazione.
  • L’elenco dei mittenti mostra quando è stato letto, anche dopo un errore.
  • Le pagine di amministrazione si adattano allo smartphone: due schede provider per riga, al massimo tre schede di statistiche, valori lunghi su una riga propria, meno colonne nella cronologia.
  • Voci di menu più brevi: History, Queue, Logs.
  • Trattini semplici invece di trattini lunghi in etichette, registri, errori e oggetto dell’e-mail di prova.
  • Pacchetto più piccolo: i loghi dei provider sono tessere WebP senza perdita.
  • Scheda del registro: schede per descrizione, installazione, FAQ, registro delle modifiche e sicurezza, e un banner.

0.2.0

  • Scelta di un mittente verificato dal provider: un indirizzo verificato, qualsiasi indirizzo su un dominio verificato o inserimento manuale. Nella scheda Sender e in ogni modulo di prova.
  • Stato dell’account nella pagina di ogni provider: piano, crediti, quote e reputazione.
  • Una prova non richiede più un mittente configurato, e Use as the default sender conserva quello che ha funzionato.
  • Una chiave salvata mostra gli ultimi 5 caratteri.
  • Amministrazione in tedesco.