Configurazione e-mail

In questa pagina

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

  1. Installa e attiva il plugin provider, quindi apri Settings → Email nell’amministrazione.

  2. Se è installato più di un plugin provider, scegli quello attivo lì — solo uno consegna alla volta.

  3. 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