Soluzione della community

Installa Mailpit su CasaOS con le impostazioni Docker ufficiali

A 2023 BigBearCasaOS tutorial introduced Mailpit; current upstream docs now define the preferred Docker image, ports, persistence, and security options.

Installa Mailpit su CasaOS con l’immagine Docker ufficiale axllent/mailpit, la porta 8025 per la posta in arrivo web e la porta 1025 per SMTP. Mantieni persistente /data solo se vuoi conservare messaggi e impostazioni dopo la ricreazione del container.

Il vecchio tutorial BigBearCasaOS è ancora utile come esempio con installazione in un clic, ma la documentazione upstream attuale di Mailpit fornisce ora l’immagine Docker esatta, l’opzione per il database persistente, le opzioni di autenticazione e le impostazioni TLS/relay. Questi elementi dovrebbero definire la guida del 2026.

A cosa serve Mailpit

Mailpit è un server SMTP locale per i test degli sviluppatori. Le applicazioni inviano le email di prova a Mailpit invece che a un provider di posta reale, e tu puoi controllare i messaggi tramite browser.

Non è una normale casella di posta di produzione né un server di posta esposto a Internet.

Usa l’immagine Docker ufficiale

L’attuale guida Docker di Mailpit documenta:

axllent/mailpit

Mappatura delle porte su CasaOS

  • 8025/TCP: interfaccia web di Mailpit
  • 1025/TCP: ricevitore SMTP

Se un altro servizio utilizza già una delle due porte sull’host, modifica la porta sul lato host mantenendo invariata quella sul lato container.

Impostazioni di base per un’app personalizzata di CasaOS

image: axllent/mailpit
restart: unless-stopped
ports:
  - "8025:8025"
  - "1025:1025"

Dopo l’avvio, apri http://CASAOS-IP:8025.

Configura la tua applicazione per usare Mailpit

Per un altro container sulla stessa rete Docker, usa il nome del servizio o del container Mailpit e la porta 1025. Per un’applicazione sulla LAN, usa l’indirizzo IP dell’host CasaOS e la porta SMTP pubblicata sull’host.

Rendi persistenti i messaggi solo se necessario

La documentazione attuale di Mailpit supporta un database SQLite in /data usando:

MP_DATABASE=/data/mailpit.db

Mappa una cartella AppData di CasaOS su /data se vuoi conservare la cronologia dei messaggi dopo la sostituzione del container.

Mantieni Mailpit privato

Una casella di posta di test può contenere link per la reimpostazione delle password, notifiche API e dati dell’applicazione. Non esporre direttamente a Internet l’interfaccia web o il listener SMTP non autenticato.

L’attuale guida alla configurazione di Mailpit documenta l’autenticazione HTTP, SMTP e POP3, oltre alle opzioni TLS.

Quando non è necessario pubblicare la porta 1025

Se solo i container sulla stessa rete Compose inviano email a Mailpit, puoi omettere la pubblicazione della porta SMTP sull’host e mantenerla interna a Docker.

La guida al networking Docker spiega lo stesso modello di isolamento.

Testa il percorso SMTP prima di collegarlo alla tua app

Dopo l’avvio di Mailpit, verifica che l’interfaccia web si apra, quindi invia un messaggio di prova da un semplice client SMTP o dalla tua applicazione. Se il messaggio compare immediatamente nella posta in arrivo di Mailpit, sia il percorso di rete sia il listener SMTP funzionano.

Se l’applicazione segnala un rifiuto della connessione, verifica che utilizzi il nome host corretto dal proprio contesto di rete. Un container dovrebbe utilizzare normalmente il nome del servizio Mailpit; un portatile sulla LAN dovrebbe usare l’indirizzo IP dell’host CasaOS.

Usa l’autenticazione solo quando il test lo richiede

Mailpit può accettare SMTP non autenticato per un semplice sviluppo locale, ma le opzioni di configurazione attuali supportano anche l’autenticazione SMTP e quella dell’interfaccia web. Abilitala quando più utenti condividono il laboratorio o quando il servizio è raggiungibile al di fuori di un’unica rete Docker attendibile.

Mantieni separata la posta di test da quella di produzione

Mailpit è progettato per intercettare i messaggi, così da impedire che raggiungano accidentalmente utenti reali. Configura esplicitamente le applicazioni di sviluppo e staging affinché usino Mailpit e conserva le credenziali SMTP di produzione in una configurazione separata. In questo modo, un’email di test per la reimpostazione della password o un’ondata di notifiche non raggiungerà i clienti.

Imposta un limite ai messaggi per i laboratori in esecuzione prolungata

Mailpit può conservare migliaia di messaggi. In un ambiente CI o homelab in esecuzione continua, imposta un limite massimo ragionevole e rendi persistenti solo i dati di cui hai effettivamente bisogno. Altrimenti, un piccolo strumento di test può diventare lentamente un altro database da gestire.

Domande frequenti

Quali sono le porte predefinite di Mailpit?

8025 per l’interfaccia web e 1025 per SMTP.

Mailpit invia email reali?

Il suo ruolo principale è acquisire localmente le email di test. Può essere configurato per l’inoltro o il relay, ma si tratta di una configurazione esplicita separata.

Ho bisogno di un database?

No, non per i test temporanei. Usa l’opzione del database SQLite se vuoi conservare la cronologia dei messaggi.

Dovrei esporre Mailpit pubblicamente?

No. Mantienilo su una rete attendibile oppure proteggilo con autenticazione e TLS.