IT
Accedi Crea un account

Come installare Mailpit su Saplo (SMTP catcher per testare le email in uscita)

Un'email di prova per il reset della password o una fattura inviata per errore alla casella di posta di un cliente reale è uno di quegli errori che si ricordano a lungo. Mailpit è un "SMTP catcher" open source che intercetta ogni email inviata tramite SMTP dalla tua applicazione e la mostra in un pannello web, invece di spedirla al mondo esterno, installabile con un clic sul tuo Box.

Grzegorz Kalmus ·

Testare le notifiche email dalla tua applicazione presenta un problema ricorrente: se l'applicazione invia email tramite un vero SMTP, prima o poi un errore di battitura nei dati di test o una dimenticanza nel cambio di ambiente farà sì che un reset di password di prova o una fattura finisca nella casella di posta di un cliente reale. Mailtrap risolve questo problema nel cloud, ma con un abbonamento che aumenta con il numero di email inviate. Mailpit è un "SMTP catcher" open source che installi sul tuo Box, intercetta ogni messaggio inviato tramite SMTP dalla tua applicazione e lo mostra in un pannello web, senza limiti sul numero di email e senza costi mensili. Di seguito, passo dopo passo, come installare Mailpit su Saplo.

Perché Mailpit invece di inviare a una casella di posta reale o a Mailtrap

Testare le email senza un catcher dedicato di solito porta a due strade, ed entrambe hanno degli svantaggi:

  • invio a una vera casella di posta di prova - funziona finché qualcuno non confonde una variabile d'ambiente o l'indirizzo del destinatario nei dati di prova, e a quel punto l'email di prova finisce dove non dovrebbe,
  • Mailtrap e servizi cloud simili - risolvono questo problema, ma costano, e il limite del numero di email catturate nel piano gratuito finisce più velocemente di quanto il team finisca i test.

Mailpit funziona come un singolo container Docker sul tuo Box, quindi ogni email inviata via SMTP dall'applicazione viene catturata localmente, senza limiti di numero di messaggi e senza il rischio che qualcosa finisca a un destinatario reale.

Mailpit vs Mailtrap vs MailHog

Mailpit è il diretto successore di MailHog, un progetto che non viene più sviluppato da tempo, quindi la domanda naturale è: in cosa si differenzia da entrambi?

  • Mailtrap è un servizio cloud con un limite gratuito di e-mail intercettate al mese - comodo perché non devi installare nulla, ma a pagamento per un traffico di test più elevato e con i dati presso un fornitore esterno.
  • MailHog è un progetto più vecchio con un ruolo molto simile, ma senza sviluppo attivo da anni, il che significa che non riceve più correzioni o nuove funzionalità.
  • Mailpit unisce i vantaggi di entrambi - è attivamente sviluppato come MailHog una volta, e lo installi sul tuo Box come Mailtrap, senza limiti al numero di e-mail e senza costi per il traffico di test.

Se il tuo team testa molte notifiche e-mail e vuole avere il pieno controllo, senza limiti nel piano gratuito e senza aspettare un progetto ormai morto, Mailpit è la soluzione migliore.

Requisiti

Per configurare Mailpit su Saplo, hai bisogno di:

  • Un Box con Docker avviato (il motore lo abilita automaticamente durante l'installazione dal catalogo, è richiesto il nesting nel container, che Saplo ha per impostazione predefinita),
  • Minimo 256 MB di RAM libera sul Box e 2 GB di spazio su disco, quindi il piano Box S (a 27 € all'anno) sarà sufficiente,
  • Un dominio o sottodominio *.saploapp.pl incluso in ogni piano, dove sarà ospitato il pannello di anteprima delle email,
  • NON devi creare un database separato - Mailpit memorizza le email intercettate nel proprio file SQLite all'interno del volume di dati.

Installazione passo dopo passo

  1. Nel pannello Saplo, vai su Catalogo applicazioni e seleziona Mailpit (categoria "Strumenti").
  2. Indica un Box con un minimo di 256 MB di RAM libera, dove verrà installato il catcher, e il dominio o sottodominio sotto il quale funzionerà il pannello.
  3. Conferma l'installazione. Il motore installa un container dall'immagine ufficiale axllent/mailpit, genera una porta SMTP casuale ed espone il pannello web solo sul loopback del Box, collegato a nginx, che lo serve sotto il dominio indicato con SSL gratuito. All'esterno è esposto solo il pannello, la porta SMTP rimane disponibile esclusivamente in locale sul Box.
  4. Dopo docker compose up il motore verifica se il pannello risponde effettivamente via HTTP, prima di considerare l'installazione completata.
  5. I dati di connessione SMTP per altre applicazioni sullo stesso Box (host, porta) vengono salvati nel file MAILPIT-SETUP.txt nella directory dell'applicazione.

Prima configurazione

Mailpit, a differenza di Chatwoot o Directus, non ha un account o un login al pannello - è una sandbox per i test, non una vera email, quindi il pannello è aperto subito dopo l'installazione.

  1. Vai all'indirizzo del dominio, ad esempio poczta-test.saploapp.pl, e vedrai una lista vuota di email intercettate, pronta per il primo messaggio.
  2. Nella configurazione SMTP della tua applicazione (WordPress, Django, Node) sullo stesso Box, inserisci l'host 127.0.0.1 e la porta indicata nel file MAILPIT-SETUP.txt - utente e password possono essere qualsiasi, Mailpit accetta qualsiasi credenziale di accesso.
  3. Invia un'email di prova dall'applicazione, ad esempio un reset della password o una notifica d'ordine, e aggiorna il pannello Mailpit - il messaggio apparirà nella lista con un'anteprima del contenuto HTML e testuale e degli allegati.
  4. Ogni email intercettata può essere aperta, puoi controllare le intestazioni SMTP e vedere come appare nel client di posta, senza il rischio che qualcosa raggiunga un destinatario reale.
  5. Nessuna email intercettata da Mailpit viene inviata altrove - è esclusivamente un'anteprima locale per scopi di test.

Mailpit su Saplo vs. Mailtrap e MailHog

Mailtrap in cloud MailHog Mailpit su Saplo
Limite al numero di email sì, nel piano gratuito nessuno nessuno
Sviluppo attivo sì no sì
Dove si trova il contenuto delle email intercettate sul server del provider sul tuo server sul tuo Box
Costo abbonamento dopo aver superato il limite costo del tuo server costo del solo Box

Domande frequenti

Mailpit invia le email ai destinatari reali? No, ogni email inviata tramite SMTP a Mailpit viene intercettata e mostrata nel pannello, senza mai raggiungere il destinatario reale.

Devo fornire credenziali SMTP reali nell'applicazione? No, Mailpit accetta qualsiasi nome utente e password, poiché si tratta solo di intercettare invii di prova, non di un vero server di posta.

Qual è la differenza tra Mailpit e MailHog, dato che fanno la stessa cosa? Mailpit è il successore di MailHog, attivamente sviluppato, un progetto che non riceve aggiornamenti da molto tempo.

Mailpit è adatto per l'invio in produzione? No, è esclusivamente una sandbox per i test: per l'invio reale è necessaria una casella di posta separata o un servizio transazionale.

Se il tuo team sta testando le notifiche email dalla propria applicazione e vuole assicurarsi che nessuna email di prova raggiunga un cliente reale, scrivici, ti aiuteremo a scegliere il Box più adatto al tuo team.

  • #DevOps
  • #Mailpit
  • #Guida
  • #SMTP
  • #Test