E' possibile testare il corretto funzionamento di invio delle email, in fase di sviluppo, aggiungendo nel web.config questo la sezione che sotto riporto:
<system.net>
<mailSettings>
<smtp deliveryMethod="SpecifiedPickupDirectory">
<specifiedPickupDirectory
pickupDirectoryLocation="C:\Users\Babba\Desktop\" />
</smtp>
</mailSettings>
</system.net>
Tramite "pickupDirectoryLocation" è possibile specificare una cartella dove troverete le emails inviate (*.eml).
Il bello è che funziona anche senza essere sotto IIS, anche semplicemente con WebDev.
Ecco il codice della pagina che invia la mail:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Net.Mail" %>
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
MailMessage email = new MailMessage();
email.IsBodyHtml = true;
email.From = new MailAddress("mail@mittente.com");
email.To.Add("mail@destinatario.com");
email.Subject = "test email";
email.Body = "<html><body><h2>CIAO</h2></body></html>";
SmtpClient smtp = new SmtpClient("127.0.0.1");
smtp.Send(email);
Response.Write("Mail inviata");
}
</script>
<html>
<head runat="server">
<title>Invia email</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button
ID="Button1"
runat="server"
onclick="Button1_Click"
Text="invia mail" />
</div>
</form>
</body>
</html>