When developing a system that sends mails, often the mails shouldn’t be sent for real when testing. Instead they should be made available for investigation. Fortunately, that functionality is built in with the .NET SmtpClient.
There is even no need to change the code. It’s just a matter of configuration. Add the following lines to the app.config (or web.config for web applications)
<system.net><mailSettings><smtpdeliveryMethod="SpecifiedPickupDirectory"from="[email protected]"><specifiedPickupDirectorypickupDirectoryLocation="c:\temp"/><!-- The network host setting isn't used, but without it an exception occurs when disposing of the SmtpClient.--><networkhost="localhost"/></smtp></mailSettings></system.net>
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory" from="[email protected]">
<specifiedPickupDirectory pickupDirectoryLocation="c:\temp" />
<!-- The network host setting isn't used, but without it an exception
occurs when disposing of the SmtpClient.-->
<network host="localhost"/>
</smtp>
</mailSettings>
</system.net>
The pickup directory setting is meant to be used with a local mail server that watches a directory for new mails. I have no mail server watching my c:\temp directory. Instead, the mails are just dropped there as .eml-files that can be opened using a mail program (e.g. outlook).
You're currently writing a reply to an existing comment, so the comment form is busy elsewhere. To make a new
comment (that isn't a reply to an existing ocmment), you have to cancel that reply.