Did you know? DZone has great portals for Python, Cloud, NoSQL, and HTML5!

Mike Hadlow is a Brighton, UK based developer, blogger and author of a number of open source frameworks and applications. Mike is a DZone MVB and is not an employee of DZone and has posted 27 posts at DZone. You can read more from them at their website. View Full User Profile

Configuring SmtpClient to Drop Emails in a Folder on Disk

01.29.2010
Email
Views: 2158
  • submit to reddit

Did you know that you can configure the built-in System.Net.Mail.SmtpClient to drop emails into a location on disk? This means that you don’t need an SMTP server for testing the email sending capabilities of your application.

You can find this advice in numerous places on the interweb, but I need to make a note here because every time I want to do it, I can’t remember the details and have to waste time browsing for it.

Simply put this configuration section in your App.config or Web.config file:

<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory pickupDirectoryLocation="c:\temp\maildrop\"/>
</smtp>
</mailSettings>
</system.net>

Now when you have some code like this:

var smtpClient = new SmtpClient();

var message = new MailMessage("no-reply@suteki.co.uk", "mike@suteki.co.uk")
{
Subject = "The subject",
Body = "The body of the message"
};

smtpClient.Send(message);

You get a file deposited in C:\temp\maildrop called something like ec40a365-270f-49ac-9aa5-1e68ec6a4df1.eml that looks like this:

X-Sender: no-reply@suteki.co.uk
X-Receiver: mike@suteki.co.uk
MIME-Version: 1.0
From: no-reply@suteki.co.uk
To: mike@suteki.co.uk
Date: 27 Jan 2010 21:32:05 +0000
Subject: The subject
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable

The body of the message

Sweet!

 

References
Tags:
Published at DZone with permission of Mike Hadlow, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)