Configuring SmtpClient to Drop Emails in a Folder on Disk
Join the DZone community and get the full member experience.
Join For FreeDid 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!
Published at DZone with permission of Mike Hadlow, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments