Inleiding tot Mailtrap een nep-SMTP-server voor pre-productie testen

Wat je gaat creëren

Mailtrap biedt een nep-SMTP-server voor uw ontwikkelingsteam om e-mails verzonden vanuit de pre-productieomgevingen te testen, te bekijken en te delen en te testen met echte gegevens zonder het risico van spammen van echte klanten. Het is gemaakt door Railsware en voor veel ontwikkeltaken is het gebruik van Mailtrap gratis.

In wezen meldt u zich aan voor Mailtrap en verzendt u al uw pre-productieomgevingse-mail via uw nep Mailtrap SMTP-server.

Dan behoren al uw mailz tot Mailtrap. U kunt uw e-mail bekijken en debuggen in de gebruiksvriendelijke GUI van Mailtrap.

U kunt Mailtrap zelfs gebruiken om dumps van uw productiedatabase te plaatsen met echte e-mails van gebruikers via tests op uw staging-server. Uw geautomatiseerde tests kunnen worden uitgevoerd tegen de echte gegevensverzending via Mailtrap, waardoor het risico verdwijnt dat test-e-mails naar echte e-mailadressen van klanten gaan.

Hoeveel kost Mailtrap?

Voor kleine ontwikkelaars of kleine taken is Mailtrap gratis. Voor grotere inspanningen variëren de kosten jaarlijks tussen $ 120 en $ 300:

Aan de slag met Mailtrap

Aanmelden is eenvoudig. U kunt zelfs uw Google- of GitHub-account gebruiken:

Ik gebruikte mijn GitHub-account en het proces was eenvoudig:

Na bevestiging ziet u uw demo-inbox in de Mailtrap-GUI:

Mailtrap configureren

Vervolgens ga ik je begeleiden bij het opzetten van Mailtrap in je ontwikkelomgeving.

Wanneer u op klikt instellingen pictogram in de lijst met inbox, ziet u dat elke Postvak IN-mailbox zijn eigen SMTP-serverreferenties heeft:

U kunt deze referenties opnieuw instellen wanneer u maar wilt. 

Mailtrap biedt een verscheidenheid aan configuratievoorbeelden:


Voor de eenvoud gebruik ik de Hello-applicatie uit onze Programming With Yii2-serie om Mailtrap te configureren. Als je de code vanaf daar wilt gebruiken om Mailtrap te testen, kloneer dan de GitHub-repository gekoppeld aan deze tutorial.

Met Yii, ben ik de instellingen van de SwiftMailer SMTP aan het aanpassen in config / web.php. Dit is de standaard:

 'errorHandler' => ['errorAction' => 'site / error',], 'mailer' => ['class' => 'yii \ swiftmailer \ Mailer', 'viewPath' => '@ app / mailer', 'useFileTransport' => false, 'transport' => ['class' => 'Swift_SmtpTransport', 'host' => 'jouw-smtp-host-domein', 'gebruikersnaam' => 'jouw email-of-gebruikersnaam ',' wachtwoord '=>' uw-wachtwoord ',' poort '=>' 587 ',' codering '=>' tls ',],', 'log' => ['traceLevel' => YII_DEBUG? 3: 0, 

Welke ik heb gewijzigd met mijn Mailtrap-instellingen:

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

Daarna bezocht ik http: // localhost: 8888 / hallo / user / register om opnieuw in te loggen:

Yii verzendt een bevestigingsmail:

Onmiddellijk verschijnt het bericht in mijn Postvak IN van Mailtrap. 

Opmerking: dit moet niet worden verward met de bevestiging van het Mailtrap-account - dit is de bevestigings-e-mail van de Yii Hello app-account die door mijn toepassing wordt verzonden.

De standaardweergave is wat u mogelijk in Gmail of een andere e-mailclient ziet:

Maar er zijn veel tabbladen om uit te kiezen om de uitgaande e-mail van uw toepassing te debuggen. Dit is de HTML-bron:

Hier is een weergave van HTML-validatie tegen uw e-mail:

En hier is een analyse van de spamscore en zwarte lijst van uw bericht en server:

Mailtrap is zo'n krachtige manier om de inhoud en opmaak van uw uitgaande e-mailberichten te debuggen.

Inboxen en berichten delen met uw team

Als uw team groter is, kunt u al uw ontwikkelaars uitnodigen om toegang te krijgen tot elk postvak met links:

Of u kunt automatisch alle berichten doorsturen naar hun eigen accounts en ze uitnodigen via hun eigen Mailtrap-accounts:

De Mailtrap API

U kunt ook geautomatiseerde tests schrijven met Mailtrap-postvakinhoud met behulp van de API, gedocumenteerd op bijenstal. Met andere woorden, u kunt geautomatiseerde scripts uitvoeren op basis van een momentopname van uw live productiedatabase en de inhoud en markup van de berichten die door uw codebase worden geleverd, controleren met behulp van de Mailtrap API.

Wilt u meer weten?

De mogelijkheden en debug-functies van Mailtrap zijn uiteraard super handig en betaalbaar. Als je nog een demonstratie wilt zien, is hier een bliksem talk op Mailtrap door Yaroslav Lazor van Railsberry 2012:

Het is zo'n eenvoudig product om te gebruiken en zo nuttig dat ik hoop dat je het zelf kunt uitproberen.

Plaats hieronder eventuele opmerkingen, correcties of aanvullende ideeën. Je kunt door mijn andere Tuts + tutorials bladeren op mijn instructeurspagina of me volgen op Twitter @reifman.

Gerelateerde Links

  • MailTrap.io
  • Mailtrap API-documentatie
  • Volg Railsware op Twitter