Testing applications that send email messages with Dumbster


News: Testing applications that send email messages with Dumbster

  1. More often than not our applications need to send emails to users notifying for example that its account has been created, they have purchased an item, or simply password remaining. When you are writing unit tests there is no problem because probably you will be mocking up interface responsible of sending an email. But what's happen with integration tests?

    Maybe the logical path to resolve this problem is installing an email server and execute these tests against it. It is not  a bad idea, but note that you will need to configure your environment before executing your tests.  Your tests will depend on external resources, and this is a bad idea for integration tests. Furthermore these integration tests would not be portable against multiple machines if an email server is not installed previously.

    To avoid this problem Dumbster comes to save us. Dumbster is a fake smtp server designed for testing applications that send email messages. It is written in Java so you can start and stop it directly from your tests.

    Read Full Post


    Edited by: Cameron McKenzie on Apr 10, 2012 8:10 AM
  2. I created a fake email server based on Dumbster that accepts incoming email and has a simple UI to display and manage them.  The number of emails retained in memory is configurable.  When I got tired of Dumbster's bugs, I switched the backend to Wiser: http://code.google.com/p/subethasmtp/wiki/Wiser.  I'm not affiliated with either.

  3. Another Good Dummy SMTP Server[ Go to top ]

    I like DummySMTP(Papercut) more. It even persists the emails as .eml files which can be opened in outlook. The UI provides the option to view Raw Email, HTML Output and formatted html. More info at http://papercut.codeplex.com/



  4. Clickity email testing service[ Go to top ]

    You can use an email testing service like ours (Clickity - https://clickityapp.com).

    It includes dummy SMTP service, unlimited test email addresses and an API against which you can write automated tests for areas where you send out emails.