Introduktion till Mailtrap En falsk SMTP-server för förproduktionstestning

Vad du ska skapa

Mailtrap tillhandahåller en falsk SMTP-server för ditt utvecklingsteam för att testa, visa och dela e-postmeddelanden som skickats från förproduktionsmiljöer och testa med reella data utan risk för spammning av riktiga kunder. Det är skapat av Railsware och för många utvecklingsuppgifter kommer det att vara gratis med Mailtrap.

I huvudsak registrerar du dig för Mailtrap och skickar alla dina förproduktionsmiljöer via din falska Mailtrap SMTP-server.

Då tillhör alla dina mailz till Mailtrap. Du kan visa och felsöka ditt mail i Mailtraps vänliga GUI.

Du kan till och med använda Mailtrap för att placera dumpningar i din produktionsdatabas med riktiga användaremail via tester på din staging-server. Dina automatiska tester kan köra mot det verkliga datasändningsemail via Mailtrap, vilket eliminerar risken för att e-postmeddelanden utförs till reella kundens e-postadresser.

Hur mycket kostar Mailtrap?

För små utvecklare eller små uppgifter är Mailtrap gratis. För större ansträngningar varierar kostnaderna mellan 120 och 300 dollar per år:

Komma igång med Mailtrap

Registrering är enkelt. Du kan även använda ditt Google- eller GitHub-konto:

Jag använde mitt GitHub-konto och processen var lätt:

När du väl har bekräftat ser du din demo-inkorg i guiden Mailtrap:

Konfigurera Mailtrap

Därefter ska jag gå igenom dig genom att konfigurera Mailtrap inom din utvecklingsmiljö.

När du klickar på inställningar ikonen i inkorgslistan ser du att varje Mailtrap-inkorg har sina egna SMTP-serveruppgifter:

Du kan återställa dessa uppgifter när du vill. 

Mailtrap erbjuder en mängd olika konfigurationsexempel:


För enkelheten använder jag Hello-programmet från vår programmering med Yii2-serien för att konfigurera Mailtrap. Om du vill använda koden därifrån för att testa Mailtrap klonar du GitHub-arkivet kopplat till den här handledningen.

Med Yii uppdaterar jag SwiftMailer SMTP-inställningarna i config / web.php. Här är standard:

 'errorHandler' => ['errorAction' => 'webbplats / fel',], 'mailer' => ['class' => 'yii \ swiftmailer \ Mailer', 'viewPath' => '@ app / mailer' 'useFileTransport' => false, 'transport' => ['class' => 'Swift_SmtpTransport', 'värd' => 'din-smtp-värd-domän', 'användarnamn' => 'ditt e-post eller användarnamn ',' lösenord '=>' ditt lösenord ',' port '=>' 587 ',' kryptering '=>' tls ',],],' log '=> [' traceLevel '=> YII_DEBUG? 3: 0, 

Vilket jag ändrade med Mina Mailtrap-inställningar:

'errorHandler' => ['errorAction' => 'webbplats / fel',], 'mailer' => ['class' => 'yii \ swiftmailer \ Mailer', 'viewPath' => '@ app / mailer' 'useFileTransport' => false 'transport' => 'Swift_SmtpTransport', 'host' => 'mailtrap.io', 'användarnamn' => '294XXXXXXXXXXdd20', 'lösenord' => '403XXXXXXXXXXX2f7' , 'port' => '25', 'kryptering' => 'tls',],], 'log' => ['traceLevel' => YII_DEBUG? 3: 0,

Sedan besökte jag http: // localhost: 8888 / hej / användare / registrera mig för att registrera mig igen:

Yii skickar ett bekräftelsemail:

Omedelbart visas meddelandet i min Mailtrap-inkorg. 

Obs! Det här ska inte förväxlas med bekräftelsen för Mailtrap-kontot. Det är det Yii Hello-appkonto-bekräftelsemail som skickats av min ansökan.

Standardvisningen är vad du kan se i Gmail eller en annan e-postklient:

Men det finns många flikar att välja mellan för att felsöka programmets utgående e-post. Här är HTML-källan:

Här ser du HTML-validering mot din e-postadress:

Och här är en analys av spampoäng och svartlistning av ditt meddelande och server:

Mailtrap är ett så kraftfullt sätt att felsöka ditt utgående e-postmeddelandeinnehåll och markup.

Dela inkorgen och meddelanden med ditt team

Om ditt lag är större kan du bjuda in alla dina utvecklare för att få åtkomst till varje brevlåda med länkar:

Eller du kan automatiskt vidarebefordra alla meddelanden till sina egna konton och bjuda in dem via sina egna Mailtrap-konton:

Mailtrap API

Du kan också skriva automatiska tester mot Mailtrap-brevlådans innehåll med hjälp av dess API, dokumenterat på apiary. Med andra ord kan du köra automatiska skript mot en ögonblicksbild av din liveproduktionsdatabas och verifiera innehållet och markeringen av de meddelanden som skulle levereras av din kodbas med hjälp av Mailtrap API.

Vill du lära dig mer?

Mailtraps funktioner och felsökningsfunktioner är uppenbarligen super användbara och prisvärda. Om du vill se en annan demonstration, här är ett blixtspela på Mailtrap av Yaroslav Lazor från Railsberry 2012:

Det är en så enkel produkt att använda och så fördelaktigt att jag hoppas att du får prova på egen hand.

Vänligen skicka några kommentarer, korrigeringar eller ytterligare idéer nedan. Du kan bläddra i mina andra Tuts + handledning på min instruktörssida eller följa mig på Twitter @ reifman.

relaterade länkar

  • MailTrap.io
  • API-dokumentation för Mailtrap
  • Följ Railsware på Twitter