Introduzione a Mailtrap un server SMTP falso per i test di pre-produzione

Cosa starai creando

Mailtrap fornisce un server SMTP fasullo per il tuo team di sviluppo per testare, visualizzare e condividere le email inviate dagli ambienti di pre-produzione e testare con dati reali senza il rischio di spamming ai clienti reali. È creato da Railsware e per molte attività di sviluppo, l'utilizzo di Mailtrap sarà gratuito.

In sostanza, ti iscrivi a Mailtrap e invii tutta l'email dell'ambiente di pre-produzione tramite il tuo falso server SMTP Mailtrap.

Quindi, tutti i tuoi mailz appartengono a Mailtrap. Puoi visualizzare ed eseguire il debug della tua email all'interno della GUI amichevole di Mailtrap.

È anche possibile utilizzare Mailtrap per posizionare i dump del database di produzione con le email degli utenti reali tramite test sul server di staging. I test automatici possono essere eseguiti contro l'invio di e-mail di dati reali tramite Mailtrap, eliminando il rischio che le e-mail di prova vengano inviate agli indirizzi e-mail dei clienti reali.

Quanto costa Mailtrap?

Per piccoli sviluppatori o piccole attività, Mailtrap è gratuito. Per maggiori sforzi, i costi variano tra $ 120 e $ 300 all'anno:

Iniziare con Mailtrap

Iscriversi è facile. Puoi persino utilizzare il tuo account Google o GitHub:

Ho usato il mio account GitHub e il processo è stato semplice:

Una volta confermato, vedrai la tua casella di posta demo nella GUI di Mailtrap:

Configurazione di Mailtrap

Successivamente, ti guiderò attraverso la configurazione di Mailtrap all'interno del tuo ambiente di sviluppo.

Quando si fa clic sul impostazioni icona nella casella di posta in arrivo, vedrai che ogni casella di posta di Mailtrap ha le proprie credenziali del server SMTP:

Puoi resettare queste credenziali quando vuoi. 

Mailtrap offre una varietà di esempi di configurazione:


Per semplicità, utilizzerò l'applicazione Hello della nostra serie Programming With Yii2 per configurare Mailtrap. Se desideri utilizzare il codice da lì per testare Mailtrap, clonare il repository GitHub collegato a questo tutorial.

Con Yii sto aggiornando le impostazioni SMTP di SwiftMailer in config / web.php. Ecco il valore predefinito:

 'errorHandler' => ['errorAction' => 'site / error',], 'mailer' => ['class' => 'yii \ swiftmailer \ Mailer', 'viewPath' => '@ app / mailer', 'useFileTransport' => false, 'transport' => ['class' => 'Swift_SmtpTransport', 'host' => 'your-smtp-host-domain', 'username' => 'tuo-email-o-username ',' password '=>' your-password ',' port '=>' 587 ',' encryption '=>' tls ',],],' log '=> [' traceLevel '=> YII_DEBUG? 3: 0, 

Che ho modificato con le mie impostazioni Mailtrap:

'errorHandler' => ['errorAction' => 'site / error',], 'mailer' => ['class' => 'yii \ swiftmailer \ Mailer', 'viewPath' => '@ app / mailer', 'useFileTransport' => false, 'transport' => ['class' => 'Swift_SmtpTransport', 'host' => 'mailtrap.io', 'username' => '294XXXXXXXXXXdd20', 'password' => '403XXXXXXXXXX2f7' , 'port' => '25', 'encryption' => 'tls',],], 'log' => ['traceLevel' => YII_DEBUG? 3: 0,

Quindi, ho visitato http: // localhost: 8888 / hello / user / register per registrarmi di nuovo:

Yii invia un'email di conferma:

Immediatamente, il messaggio appare nella mia posta in arrivo di Mailtrap. 

Nota: questo non deve essere confuso con la conferma dell'account Mailtrap: è l'e-mail di conferma dell'account Yii Hello inviata dalla mia applicazione.

La visualizzazione predefinita è ciò che potresti vedere in Gmail o in un altro client di posta:

Ma ci sono molte schede tra cui scegliere per eseguire il debug dell'e-mail in uscita dell'applicazione. Ecco la fonte HTML:

Ecco una vista della convalida HTML contro la tua email:

Ed ecco un'analisi del punteggio spam e della lista nera del tuo messaggio e server:

Mailtrap è un modo molto efficace per eseguire il debug del contenuto dei messaggi di posta elettronica in uscita e del markup.

Condivisione di caselle di posta e messaggi con la tua squadra

Se la tua squadra è più grande, puoi invitare tutti i tuoi sviluppatori ad accedere a ciascuna casella di posta con collegamenti:

Oppure puoi inoltrare automaticamente tutti i messaggi ai loro account e invitarli tramite i propri account Mailtrap:

L'API Mailtrap

È anche possibile scrivere test automatici sul contenuto della cassetta postale di Mailtrap utilizzando la sua API, documentata in apiario. In altre parole, è possibile eseguire script automatici su un'istantanea del database di produzione live e verificare il contenuto e il markup dei messaggi che verranno forniti dalla base di codice utilizzando l'API Mailtrap.

Vuoi saperne di più?

Le funzionalità e le funzionalità di debug di Mailtrap sono ovviamente super utili e convenienti. Se desideri vedere un'altra dimostrazione, ecco un discorso lampo su Mailtrap di Yaroslav Lazor di Railsberry 2012:

È un prodotto così semplice da usare e così utile che spero che tu possa provarlo da solo.

Si prega di inviare commenti, correzioni o idee aggiuntive di seguito. Puoi sfogliare i miei altri Tuts + tutorial sulla mia pagina di istruttore o seguirmi su Twitter @reifman.

Link correlati

  • MailTrap.io
  • Documentazione API Mailtrap
  • Segui Railsware su Twitter