Testing E-mail Functionality

Testing E-mail Functionality

One of the most common questions I see on ASP.NET forums relates to sending E-Mail. I have addressed many of those issues already.

One of the most common questions I see on ASP.NET forums relates to sending E-Mail. I have addressed many of those issues already, so I wont get into how to send E-Mail from an ASP.NET web site.

This week I have been working on testing applications and had a chance to meet Donovan Brown, now with Microsoft. Donovan is all about testing and has some fantastic tools to test all aspects of applications and is a Team System freak!! This afternoon I was having a great conversation when he mentions he created a little SMTP server to test E-Mail functionality called Neptune.

All you need to do is download Neptune from Donovan's Blog, run the installer and then run Neptune whenever you need an SMTP server to receive E-Mail sent from your application.

You can either explicitly set the SMTP server in the SMTPClient or in the web.config to 'localhost' or '' and E-Mail will be sent to Neptune. It does not really process the message, only consumes it. So it does not relay the message anywhere and you do not have to have a preset E-Mail address configured. It is really point and shoot. Each time a message is sent to Neptune it increments the Messages count. It can be reset at anytime or stopped. Stopping the SMTP server is important to make sure you application fails gracefully when it cant reach the destination SMTP server.

Neptune supports commands from RFC 821 and 2821; HELO, EHLO, MAIL, RCPT, DATA, NOOP, RSET and QUIT. It also stores the messages in memory so you can interrogate them with your testing framework, like a Visual Studio Web Test. There is also accompanying plug-in, extraction and validation rules included with Neptune.


Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

The Difference Between Regular Functions and Arrow Functions in JavaScript

<p>Other then the syntactical differences. The main difference is the way the this keyword behaves? In an arrow function, the this keyword remains the same throughout the life-cycle of the function and is always bound to the value of this in the...

Activation Functions, Optimization Techniques, and Loss Functions

Activation Functions, Optimization Techniques, and Loss Functions: A significant piece of a neural system Activation function is numerical conditions that decide the yield of a neural system.

Function Expression vs Function Declaration in JavaScript

In this article, we will acquaint ourselves with three simple terms: function declaration, function expression, and hoisting.

Are functions from programming really functions?

Are functions from programming really functions? If you are reading this, then most probably you already know quite well what functions are in programming.

Functional Programming: Higher Order Functions

Functional Programming: Higher Order Functions. A Better Take on JavaScript’s Higher Order Functions. Functional Programming is awesome! It makes programming fun.