Last updated: 2017-08-20

SMTP SimulatorThe SMTP Simulator project has been started due to a specific demand during a customer project. We needed a solution to test native transport of Exchange Server 2013 and third party addons to Exchange in an isolated lab envrionment having no internet access at all.

While it is pretty easy to send test emails using PowerShell, we wanted to create an automated service which is capable of:

  • replies to incoming emails
  • has configured internal and external SMTP domains
  • creates random local email addresses
  • sends emails depending on a schedule to simulate user behaviour
    • fixed number of emails per timeframe
    • random number of emails per timeframe
    • send misformed emails
  • adds attachments to outgoing emails
    • documents 
    • archives / password protected archives
    • EICAR files
  • simple testing of POP3/IMAP4 remote connections 
  • runs as a Windows service
  • has a nice web interface for simplified administration
    • access to SMTP send/receice logs

The SMTP Simulator can be used with any Message Transfer Agents (MTA), not only with Exchange. Besides testing the MTA itself, we needed to test some of the following third-party solutions:

  • Anti-Malware solutions using an Exchange transport agent
  • SMTP gateway solutions

Architecure overview

SMTP Simulator Overview

Web client interface

Screenshot SMTP Simulator Web Client

The Visual Studio solution creates a MSI installer file. The MSI package created installs the SMTP Service itself, but not the required web application (see issue #49).

Documentation is provided by the SMTP Simulator Wiki.

Open Source

The code has been published as open source at Github. Feel free to fork the solution and contribute to the code.

Report any issues or feature requests at Github.

To-Do’s

The project still has some open ends and needs some love and attention. Open issues are part of the issue tracker at Github.

Main topics are:

  • Authenticated login
  • Rebuild of the installer to include the main service component and the web client required for management
  • Enhance wiki documentation

Links

%d Bloggern gefällt das: