de-DEen-GB
 
rss

Just can't get enough of IT

This blog is about mostly anything in IT. But the primary focuses are Microsoft Technologies like Exchange, Office 365, Azure and Cloud Security.
On August 20, 2017
0 Comment
227 Views
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

Read More »
On September 15, 2014
0 Comment
595 Views

Exchange and other MTAs use DSNs (Delivery Status Notifications) and NDRs (Non Delivery Reports) to notify the sender or sending MTAs (Message Transfer Agents aka Mail Servers) about the varioius statuses of a given email message. In Exchange those messages are generated primarily by the categorizer component of the transport service.

You can use the New-SystemMessage cmdlet to create new messages. These messages can even be localized and can contain Html tags for properly styled notifications.

From a system perspective the various notifications used are named and fulfill a specific purpose.

Report and receipt types (Exchange Version independent) used for notification

  • Delivery Receipt (DR)

    Report confirming that a message was delivered to its intended recipient​

  • Delivery Status Notification (DSN)​
    Report describing the result of an attempt to deliver a message

  • Message disposition Notification (MDN)​
    Report describing the status of a message after it has been successfully delivered to a recipient. Examples: read notification (RN) or non-read notification (NRN)​
    Defined by RFC 2298 and controlled by Disposition-Notification-To header​

  • Non-Delivery Report (NDR)​
    Report indicating to the message sender that the message could not be delivered to the intended recipients​

  • Non-Read Notification (NR)
    Report indicating that a message was deleted before is was read, when a read receipt was requested​

  • Out Of Office/Facility (OOF)​
    Report indicating that the recipient will not respond to a new message
    OF referes to the Microsoft original term „out of facility

  • Read Notification (NR)
    Report indicating that a message was read

  • Recall Report​
    Report indicating the status of a recall request for a specific recispient​
    A recall request is used when a sender tries to recall a sent message by using Outlook​

Links

 


This post has first been published in my personal legacy blog here.

Read More »