Qual è il Miglior Linguaggio di Programmazione da Imparare nel ...
Indice dei contenuti. Quali Sono i Diversi Tipi di Linguaggi di Programmazione? HTML e CSS; JavaScript; PHP; SQL; C++; C#; Swift ...
MailHog
Tuttavia, a meno che la massima velocità sia il vostro unico obiettivo, altri linguaggi possono fare meglio molte delle cose che fa Go. Non è sempre chiaro per cosa esattamente si dovrebbe scegliere Go. Tuttavia, piace agli sviluppatori e la sua popolarità continua a crescere. Ad esempio, <anchor>MailHog</anchor>, lo strumento open source di test delle email utilizzato per il test delle email locali di DevKinsta, è sviluppato con il linguaggio di programmazione Go.
Come Utilizzare MailHog per Testare le Email in Locale (Guida Passo-Passo)
## Un Potente Hosting WordPress Gestito

Scopri di più

###### In primo piano - WordPress

###### In primo piano - piattaforma

###### Supportiamo

###### Casi di Studio

- 

## LightBlack Solutions garantisce siti 10 volte più veloci e un posizionamento più elevato su Google PageSpeed



## Semplicità di gestione, alte prestazioni, programma di affiliazione: perché PaperPlane Factory ha scelto Kinsta

###### Risorse

###### Contattaci

# Come Utilizzare MailHog per Testare le Email in Locale (Guida Passo-Passo)

Pubblicato27 Febbraio 2021

Aggiornato20 Febbraio 2023

Mailhog

Testare le email in un ambiente di sviluppo locale può essere impegnativo. È una vera sofferenza rimanere con il dubbio che le email in uscita del vostro sito web o della vostra web app stiano effettivamente raggiungendo le caselle di posta dei destinatari. Ma per questo c’è MailHog!

MailHog è uno strumento per testare la posta elettronica che rende super facile installare e configurare un server di posta locale. MailHog imposta un falso server SMTP. Potete configurare le vostre applicazioni web preferite per usare il server SMTP di MailHog per inviare e ricevere email.

Per esempio, è possibile configurare un sito WordPress locale per usare MailHog per le consegne di email. Questo è esattamente ciò che fa DevKinsta per alimentare il suo server SMTP integrato e testare le email a livello locale.

In questo articolo, imparererete i pro e i contro di MailHog, compresa la sua installazione, la configurazione, come testare le email localmente e molto altro!

Iniziamo? Via!

### Preferite la versione video?

## Cos’È MailHog?

Interfaccia utente web di MailHogInterfaccia utente web di MailHog

MailHog è uno strumento open source per testare le email rivolto principalmente a chi si occupa di sviluppo. Vi permette di testare le capacità di invio e ricezione di email della vostra applicazione web in modo più efficiente.

Costruito con il linguaggio di programmazione Go, MailHog può essere eseguito su diversi sistemi operativi, tra cui Windows, Linux, FreeBSD e macOS. MailHog è mantenuto da Ian Kent e rilasciato sotto la licenza MIT, quindi potete usarlo liberamente per usi personali e commerciali.

Ma perché avete bisogno di MailHog in primo luogo?

## Perché Avete Bisogno di MailHog

MailHog risolve molti dei principali problemi di test delle email.

Diciamo che state sviluppando un sito web WordPress in un ambiente di sviluppo locale. Se volete testare un modulo di contatto o qualsiasi altra email in uscita da esso, le cose possono complicarsi.

Di solito, il server SMTP predefinito dell’applicazione web si occupa di questo compito. In un ambiente di sviluppo locale, quasi sempre non funziona a causa di molteplici ragioni.

Potete leggere la nostra guida completa sui server SMTP gratuiti per sapere di più su come funziona un server SMTP.

Come funziona un server SMTP (Fonte: Wikimedia Commons)Come funziona un server SMTP (Fonte: Wikimedia Commons)

In primo luogo, è necessario impostare il sistema operativo, il server web e l’applicazione web per abilitare le email in un ambiente locale. Poi dovrete assicurarvi che le email arrivino con successo nella casella di posta del vostro destinatario, il che può finire per farvi perdere tempo (e spazio nella casella di posta).

MailHog risolve tutti i problemi di cui sopra. Imposta un falso server SMTP che potete impostare nella vostra applicazione web per inviare e ricevere email. Memorizza anche le email inviate e ricevute in un’elegante interfaccia web, in modo da poterle esaminare proprio come si farebbe con una vera casella di posta elettronica.

Infine, MailHog vi permette anche di recuperare queste email con un’ API per i test automatici. È una caratteristica potente, e il modo in cui usare l’API dipende da voi.

## Caratteristiche di MailHog

MailHog è dotato di molte caratteristiche out-of-the-box. Ecco alcune delle sue principali caratteristiche:

- Leggero e portatile: Non è necessario installare MailHog per usarlo. È uno dei principali vantaggi di MailHog. Questo lo rende altamente portatile per eseguirlo su quasi tutti i sistemi operativi o server web.
- Supporto SMTP esteso: Non solo MailHog supporta l’impostazione di un falso server SMTP, ma potete anche usarlo per impostare un server ESMTP (SMTP esteso). Include anche il supporto per SMTP AUTH e PIPELINING.
- Supporto API: Potete usare l’ API HTTP integrata di MailHog (o l’API JSON) per recuperare, elencare e cancellare le email.
- Failure Testing: Potete invitare Jim, la Chaos Monkey di MailHog (sì, si chiama proprio così), a testare la deliverability della vostra app web. Lo fa creando casualmente problemi comuni di deliverability delle email, come connessioni/autenticazioni rifiutate e connessioni a velocità limitata.
- Aggiornamenti in tempo reale: MailHog utilizza l’interfaccia web EventSource per fornire aggiornamenti istantanei.
- Cattura e memorizzazione delle email: Le email catturate possono essere immagazzinate in un archivio di messaggi in memoria e conservate in un database MongoDB e in un sistema di archiviazione basato su file.
- Scaricare allegati: MailHog supporta il download di singole parti MIME.
- Web UI: Potete usare l’interfaccia web di MailHog per visualizzare le email come testo semplice, HTML o sorgente. Supporta anche il MIME multipart e le intestazioni codificate.
- Autenticazione: MailHog supporta l’ autenticazione di base HTTP sia per la sua Web UI che per l’API.
- Rilasciare le email catturate: Potete configurare MailHog per rilasciare le email catturate ai server SMTP reali per la consegna.

Jim è la "scimmia del caos" di MailHogJim è la “Chaos Monkey” di MailHog

Oltre alle caratteristiche di cui sopra, MailHog ha attualmente due librerie client per gli ambienti PHP e NodeJS per interagire facilmente con l’API di MailHog.

## Distribuzione di MailHog su Varie Piattaforme

Come detto prima, MailHog non ha bisogno di essere installato. Tuttavia, dovete comunque scaricarlo e impostarlo nel vostro ambiente di sviluppo.

Iniziamo con il download di MailHog. Poi vi mostreremo come impostarlo su varie piattaforme. Ci sono molti modi per farlo.

### MailHog su Windows

Per prima cosa, andate alla pagina dei rilasci di MailHog su GitHub per scaricare la sua ultima versione stabile per Windows. Dopo aver scaricato MailHog, potete eseguirlo così com’è senza alcuna dipendenza esterna.

Pagina dei rilasci di MailHog su GitHubPagina dei rilasci di MailHog su GitHub

Nota: Al momento di scrivere questo articolo, MailHog 1.0.1 è l’ultima versione rilasciata. Potete scaricarlo precompilato per le piattaforme Windows, Linux e Darwin (macOS). Se state usando una piattaforma di nicchia, potete anche scaricare il suo codice sorgente e compilarlo per il vostro caso d’uso specifico.

Poiché MailHog per Windows è un semplice programma auto-eseguibile, potete semplicemente eseguire il file `.exe` scaricato. Se vi vengono presentati degli avvisi di sicurezza, permettete a MailHog l’esecuzione sul vostro ambiente localhost senza restrizioni di firewall.

Ecco come appare MailHog su Windows 10.

MailHog in esecuzione su Windows 10MailHog in esecuzione su Windows 10

Potete vedere che il server SMTP funziona sulla porta `1025` e il server HTTP è sulla porta `8025`.

Niente di troppo sofisticato ancora, ma è una conferma che MailHog è in esecuzione sul vostro sistema.

Ora, potete visitare `localhost:8025` o `127.0.0.1:8025` nel vostro browser web per visualizzare la Web UI di MailHog.

MailHog Web UI su WindowsMailHog Web UI su Windows

Non potete trovare nessuna email elencata qui, perché non abbiamo configurato nessuna delle nostre applicazioni web per usare MailHog. Ne parleremo più avanti in questo articolo.

### MailHog su Linux

Se state usando Linux (Ubuntu/Debian), ecco come potete lanciare MailHog:

Il primo comando installa il linguaggio di programmazione Golang sul vostro ambiente di sviluppo (se non lo avete già). Potete saltare questa riga se avete già installato Go. Il prossimo comando installa `git` sulla vostra macchina (potete saltare anche questo se è già installato).

Il terzo comando usa la direttiva di Go per ottenere l’ultima versione stabile di MailHog dal suo repository GitHub.

Poi, potete eseguire `/path/to/MailHog` attraverso il vostro terminale per avviare MailHog. Il percorso esatto può variare a seconda della vostra versione di Linux. Poiché i file bin di Go su Ubuntu sono memorizzati sotto la directory `~/go/bin/`, potete eseguire il codice seguente per avviare MailHog:

Questo è più o meno tutto. MailHog è ora in esecuzione sulla vostra macchina Linux. Questo è il suo aspetto.

MailHog in esecuzione su Linux (Ubuntu)MailHog in esecuzione su Linux (Ubuntu)

Se volete avviare MailHog automaticamente a ogni login, potete impostarlo per avviarlo come server daemon usando supervisord, upstart, ecc. Potete anche usare lo script init o l’ Ansible role fornito da geerlingguy per fare lo stesso.

Proprio come con Windows, potete vedere che il server SMTP inizia sulla porta `1025` e il server HTTP sulla porta `8025`.

Visitate `localhost:8025` o `127.0.0.1:8025` nel vostro browser web per vedere la Web UI di MailHog.

MailHog Web UI su Linux (Ubuntu)MailHog Web UI su Linux (Ubuntu)

### MailHog su macOS

Gli utenti Apple possono installare MailHog usando Homebrew. Aprite il vostro terminale ed eseguite il seguente comando:

Questo installerà MailHog sul vostro macOS. Poi, potete avviare MailHog con:

`mailhog`

Se volete che MailHog si avvii automaticamente al login e venga eseguito come un servizio in background, potete invece eseguire il seguente comando:

Questo è più o meno tutto. MailHog è ora installato sul vostro macOS. Potete vedere la sua interfaccia web visitando

`127.0.0.1:8025` o `localhost:8025` nel vostro browser.

### MailHog su Docker

Docker è uno dei modi più semplici per impostare MailHog su qualsiasi piattaforma.

In primo luogo, assicuratevi di avere Docker installato sulla vostra macchina. Poi, potete avviare MailHog direttamente da Docker Hub eseguendo il seguente comando:

Analizziamo il comando di cui sopra e le sue direttive:

- `docker run` avvia un contenitore docker.

- `-d` esegue il contenitore docker in background.

- Le direttive `-p 1025:1025` e `-p 8025:8025` espongono le porte SMTP predefinite di MailHog a quelle locali.

- `mailhog/mailhog` prende l’ultima build di MailHog da Docker Hub.

In alternativa, se volete montare `Maildir` di MailHog sul vostro filesystem locale (invece che dentro un Docker), potete eseguire il seguente comando:

Come detto prima, visitate `localhost:8025` o `127.0.0.1:8025` nel vostro browser per usare MailHog Web UI.

### MailHog su Docker Compose

Docker Compose è un’estensione di Docker che rende facile eseguire più contenitori Docker con un solo comando. Lo si fa definendo tutti i contenitori che si desidera eseguire in un file YAML.

Per impostazione predefinita, Docker Compose richiede di nominare questo file come `docker-compose.yaml`.

Per eseguire MailHog con Docker Compose, ecco come dovrebbe essere il vostro file `docker-compose.yaml`:

All’interno della cartella dove risiede questo file, eseguite il seguente comando per avviare MailHog in background:

Funziona esattamente come con Docker. Tranne che qui non c’è bisogno di menzionare molte direttive perché le avete già definite.

Ora potete inserire `localhost:8025` o `127.0.0.1:8025` nel vostro browser per visualizzare MailHog Web UI.

Oltre ai metodi di cui sopra, il repo GitHub di MailHog include anche una guida per avviare MailHog su AWS Elastic Beanstalk.

## Configurare MailHog con mhsendmail

MailHog reindirizza le email dalle applicazioni web al suo server SMTP utilizzando mhsendmail, un sostituto di `sendmail` creato appositamente per MailHog. Assicura che le email della vostra applicazione web siano inviate e ricevute usando il server SMTP `localhost:1025`, che MailHog è configurato per gestire in modo predefinito.

Per iniziare, è necessario scaricare e installare `mhsendmail`. A seconda della vostra piattaforma, potete approcciarvi in vari modi.

Per esempio, se state usando Ubuntu, potete scaricare `mhsendmail` dal suo repository GitHub usando il seguente comando:

Successivamente, rendete questo file eseguibile e spostatelo nella vostra directory utente. Per farlo, usate il seguente comando:

In alternativa, potete anche ottenere `mhsendmail` su Golang o Homebrew eseguendo questo comando:

Assicuratevi che Go sia installato prima di eseguire il comando di cui sopra. Se siete su Linux, fate riferimento alla sezione MailHog su Linux qui sopra. Per installare Go con Homebrew, eseguite il seguente comando:

Con `mhsendmail` scaricato, potete ora procedere all’installazione:

Successivamente, dovete configurare la vostra applicazione web per usare `mhsendmail` di MailHog come servizio di routing delle email. La maggior parte dei sistemi Linux è impostata per usare `sendmail` in modo predefinito.

Potete farlo modificando il vostro file `php.ini`. Sulla maggior parte dei server, potete trovare il file php.ini nella directory principale.

Potete anche eseguire il seguente comando per trovarlo:

Per le macchine Linux con Ubuntu, è necessario impostare il valore di `sendmail_path` su:

Invece del valore di cui sopra, potete anche usare il valore mostrato qui sotto per ottenere lo stesso risultato:

Se avete usato Go per installare `mhsendmail`, o se state usando qualsiasi altra variante di Linux, il percorso può variare leggermente a seconda della vostra piattaforma/configurazione. Assicuratevi di collegarvi alla corretta directory di `mhsendmail`.

Gli utenti Mac devono modificare il file di configurazione di `Postfix` per impostare correttamente MailHog. Potete usare la seguente configurazione di Postfix:

Per i siti WordPress, potete usare il plugin gratuito MailHog for WordPress per indirizzare le email del vostro sito a MailHog. Per usarlo, installate e attivate il plugin nel vostro cruscotto di amministrazione di WordPress. Un’alternativa migliore è quella di usare DevKinsta. Lo vedremo approfonditamente più tardi.

Leggete la documentazione di MailHog per informazioni su come impostarlo su varie altre piattaforme/configurazioni.

### Opzioni Aggiuntive di Configurazione di MailHog

Potete configurare MailHog usando le sue variabili d’ambiente o le opzioni della linea di comando.

Per esempio, potete cambiare il vostro hostname di default da `mailhog.example` a un nome personalizzato usando la variabile environment `MH_HOSTNAME` o l’opzione della linea di comando `-hostname`.

## Test delle Email Locali con MailHog

Infine, testiamo la nostra configurazione di MailHog per vedere se è configurata correttamente.

Potete inviare un’email con la CLI di Mailhog usando le seguenti direttive `mhsendmail`:

Nel codice qui sopra, la direttiva `&lt;&lt;EOF` imposta un delimitatore personalizzato che permette di inserire i dettagli dell’email di prova in modo interattivo all’interno del terminale. Quando si digita di nuovo il delimitatore, si esegue tutto l’input. Qui invia una mail usando il comando `mhsendmail`.

Inviare un'email di prova usando 'mhsendmailInviare un’email di prova usando ‘mhsendmail

Potete verificare se l’email è stata consegnata con successo visitando la Web UI di MailHog.

L'email di prova è stata consegnata con successoL’email di prova è stata consegnata con successo

Potete anche fare clic sull’email di prova per verificarne il contenuto.

Verifica del contenuto del corpo dell'email di provaVerifica del contenuto del corpo dell’email di prova

E questo è tutto! Possiamo ora concludere che MailHog è stato configurato con successo.

Oltre al metodo di cui sopra, ci sono altri modi per inviare un’email di prova. Per esempio, su macOS, potete inviare un’email di prova eseguendo il seguente comando nel terminale:

Su Windows, potete inviare un’email con PowerShell eseguendo il seguente codice:

Potete anche definire uno script PHP con tutti i dati di posta e usare la funzione `mail()` di PHP per inviare un’email di prova. Per farlo, definite il vostro script PHP come segue ed eseguitelo dal terminale:

Infine, potete usare MailHog API per verificare se un’email è stata consegnata con successo. Se state lavorando esclusivamente in un ambiente non-GUI (ad esempio terminale Linux, Windows PowerShell), l’API MailHog è super utile per elencare, recuperare e cancellare le email.

## DevKinsta e MailHog: Testare Senza Problemi le Email Locali

Il nostro strumento di sviluppo locale di WordPress, DevKinsta, usa MailHog per alimentare le sue funzioni di test delle email. Come fa anche Docker per containerizzare i singoli siti, avrete una casella di posta separata MailHog per ogni sito locale che state sviluppando.

La 'casella di posta elettronica' di DevKinsta è alimentata da MailHogLa ‘casella di posta elettronica’ di DevKinsta è alimentata da MailHog

Come con MailHog Web UI, anche con DevKinsta potete usare la casella di posta locale per visualizzare e manipolare le email (cancellare, segnare come letto, visualizzare la fonte).

Visualizzare e manipolare le email in DevKinstaVisualizzare e manipolare le email in DevKinsta

Potete anche controllare i log di MailHog di DevKinsta eseguendo il seguente comando Docker:

## Riepilogo

MailHog rende il test delle email un gioco da ragazzi. È una grande e pratica soluzione per testare le email del vostro sito web o della vostra web app. Inoltre, MailHog è semplice da configurare su quasi tutte le piattaforme popolari e ha un’interfaccia web facile da usare.

Come MailHog, DevKinsta è un ottimo modo per iniziare con lo sviluppo locale di WordPress. Non solo include MailHog per testare le email localmente, ma viene anche precaricato con Adminer per una facile gestione del database.

Con MailHog (e DevKinsta) dalla vostra parte, scoprirete che testare le email localmente non è mai stato così facile.

Se volete condividere la vostra esperienza o le vostre sfide nel testare le email a livello locale, scriveteci nella sezione dei commenti qui sotto.

Risparmia tempo e denaro, oltre a massimizzare le prestazioni del sito, con oltre 300 dollari di integrazioni di livello enterprise incluse in ogni piano WordPress Gestito. Questo comprende un CDN ad alte prestazioni, protezione DDoS, mitigazione di malware e hack, edge caching e le macchine dalle CPU più veloci di Google. Inizia senza contratti a lungo termine, con migrazioni assistite e una garanzia di rimborso di 30 giorni.

Scopri i nostri piani o contattaci per trovare il piano che fa per te.



Salman Ravoof

Salman Ravoof é uno sviluppatore web autodidatta, uno scrittore, un creatore e un grande ammiratore del Free and Open Source Software (FOSS). Oltre alla tecnologia, è appassionato di scienza, filosofia, fotografia, arte, gatti e cibo. Per saperne di più su di lui, visitate il suo sito web o contattate Salman su X.

## Articoli e argomenti correlati



## Un Potente Hosting WordPress Gestito

Ottieni un hosting WordPress gestito di qualità superiore con Kinsta. Funzionalità di alto livello per prestazioni del sito senza pari, disponibili…

Tempo di lettura11 min di letturaData aggiornata13 Agosto 2024Post typePaginaTipo di contenutoVideoScopri di più



## Come Installare WordPress in Locale (Windows, macOS, Linux)

A volte può essere più conveniente lavorare con WordPress sulla propria macchina. Scopri come installare WordPress in locale con DevKinsta, XAMPP,…

Tempo di lettura30 min di letturaData aggiornata13 Marzo 2023Post typeBlogArgomentoDevKinstaArgomentoLocalhostArgomentoSviluppo di WordPress

### Commenti

### Lascia un commento Annulla risposta

Politica dei commenti: ci piacciono i commenti e apprezziamo il fatto che le persone ci dedichino del tempo per condividere idee e opinioni. Tuttavia, moderiamo manualmente tutti i commenti ed eliminiamo quelli che consideriamo spam o puramente promozionali.

Il tuo indirizzo email non sarà pubblicato.I campi obbligatori sono contrassegnati *

Commento *

Nome *

Email *

Inviando questo modulo: Acconsenti al trattamento dei dati personali inviati in conformità con la Politica della Privacy di Kinsta, incluso il trasferimento dei dati negli Stati Uniti.

Accetti inoltre di ricevere informazioni da Kinsta relative ai nostri servizi, eventi e promozioni. Puoi annullare l'iscrizione in qualsiasi momento seguendo le istruzioni contenute nelle comunicazioni ricevute.

#### Prendiamo sul serio la sicurezza e la privacy

Cambia linguaDeutschEnglishEspañolFrançaisItalianoNederlandsPortuguês

© 2013 - 2024 Kinsta Inc. Tutti i diritti riservati.Kinsta® e WordPress® sono marchi registrati.Informazioni legali.