EmDash utilizza l’e-mail per login con link magico, inviti utente e recupero account. Un plugin provider consegna la posta; scegli e configuri il provider installando il suo plugin.
Questa guida copre come funziona la pipeline e-mail, cosa ottieni pronto all’uso in sviluppo e come collegare un vero provider per la produzione.
Come funziona la consegna e-mail
Un singolo plugin provider attivo consegna tutta la posta in uscita. Se nessun provider è attivo, le funzionalità che necessitano di e-mail non sono disponibili — i link di invito devono quindi essere copiati e condivisi manualmente dalla pagina Utenti.
Puoi vedere lo stato corrente in Settings → Email nell’amministrazione: se un provider è attivo, quale plugin è, e un pulsante send test email che esercita l’intera pipeline.
Sviluppo: Provider console integrato
In sviluppo (astro dev), EmDash attiva automaticamente un provider console integrato quando nessun altro provider è selezionato. Non invia nulla — registra ogni e-mail nel terminale e mantiene gli ultimi 100 messaggi in memoria.
Ciò significa che i link magici e gli inviti funzionano pronti all’uso in sviluppo: richiedi un link magico, quindi copia l’URL dal tuo output del terminale. Puoi anche elencare le e-mail catturate all’endpoint solo sviluppo GET /_emdash/api/dev/emails (e cancellarle con DELETE).
Il provider console è solo per sviluppo e non viene mai eseguito nelle build di produzione.
Produzione: Installare un plugin provider
Cloudflare Workers
Su Cloudflare, usa il plugin cloudflareEmail() da @emdash-cms/cloudflare/plugins. Invia tramite Cloudflare Email Sending su un binding send_email del Worker, quindi non necessita di account esterno o chiave API. La guida al deployment Cloudflare ti guida attraverso l’onboarding del dominio mittente, l’aggiunta del binding e la registrazione del plugin.
Node e altre piattaforme
La famiglia di plugin mantenuta dalla comunità emdash-smtp copre SMTP generico più provider ospitati, inclusi Amazon SES, Brevo, Mailgun, Postmark, Resend, SendGrid, Zoho e altri.
pnpm add emdash-smtp
La seguente configurazione registra il plugin con EmDash:
import { defineConfig } from "astro/config";
import emdash from "emdash/astro";
import { emdashSmtp } from "emdash-smtp";
export default defineConfig({
integrations: [
emdash({
// ...la tua configurazione di database/storage
plugins: [emdashSmtp()],
}),
],
});
Le credenziali del provider sono configurate tramite le impostazioni proprie del plugin — vedi il suo README per la matrice dei provider e i dettagli di configurazione.
Dove risiedono le credenziali del provider
I plugin provider dichiarano le loro chiavi API e password come impostazioni del plugin. Inseriscile nella pagina delle impostazioni del plugin nell’amministrazione; EmDash le memorizza nel database insieme ad altre impostazioni del plugin, e ruotare una chiave significa incollare il nuovo valore lì. Secrets & Key Management descrive lo storage e le sue avvertenze.
Se un plugin può leggere un segreto di deployment (wrangler secret put, .env) dipende dal suo formato, quindi segui il suo README. I plugin sandbox non possono accedere a process.env o ai binding della piattaforma. Un plugin nativo può leggere process.env; non deve usare import.meta.env, che viene inserito al momento della build e cuoce il valore della macchina di build nel bundle.
Selezionare un provider e testare
-
Installa e attiva il plugin provider, quindi apri Settings → Email nell’amministrazione.
-
Se è installato più di un plugin provider, scegli quello attivo lì — solo uno consegna alla volta.
-
Usa Send test email per verificare l’intera pipeline end-to-end. Il risultato rivela direttamente gli errori di consegna, che è il modo più veloce per debuggare le credenziali.
Risoluzione dei problemi
- “No email provider is configured” — nessun plugin provider è attivo. Installa e attivane uno, quindi selezionalo in Settings → Email.
- Link magici / inviti silenziosamente non disponibili — stessa causa. Senza un provider, la pagina Utenti crea comunque inviti, ma devi copiare il link di invito manualmente.
- Funziona in sviluppo, fallisce in produzione — lo sviluppo usa il provider console integrato, che maschera un provider di produzione mancante. Verifica Settings → Email sul sito distribuito.
- Le e-mail finiscono nello spam — configura SPF/DKIM/DMARC per il tuo dominio mittente presso il tuo provider e-mail; questo è lato provider, non un’impostazione EmDash.
Correlati
- Autenticazione — link magici, inviti e flussi di recupero che si basano sull’e-mail
- Riferimento hook e-mail —
email:beforeSend,email:deliver,email:afterSend