Monitor email server: ensure it is processing incoming and outgoing emails

Description
User question:  We need to make sure that our email server is processing internal and external emails correctly at all times.  I need the software to send an email out to a remote mail server every five minutes.  The remote mail server is configured to forward the test messages back to a test account in our internal email server.  I need the software to also retrieve email from the test account every ten minutes.  If no messages have been received for more than ten minutes, I need the software to print out an error document to printer.

Solution

You would have to create 4 tasks: Email Send task, Check Email task, Print task, Chain task

1) Email Send task
Send test email to external server
 
2) Email Check task 
Criteria 1= download messages if date is newer than 10 minutes.  
If any email is found matching the specified criteria (i.e. newer than 10 minutes), then the message is downloaded and an exit code = -100 is set in the task. If no new email within last 5 minutes is found on the server, than exit code = 0 is set. 

3) Print task
Prints error document to the default printer

4) Chain Task
step 1 = email send task 
step 2 = check email task, step 2 option: if exit code = -100, go to step 100 (i.e. do not print error document) 
step 3 = print task, (this print task would run, only if step 2 returned with exit code = 0, i.e. no new email is found in last 10 minutes) 

5) Schedule this chain task to run every 5 minutes