Nachdem ich ganze 30min. meiner wertvollen Lebenszeit mit der Suche nach einer funktionieren Variante zum versenden von eMails unter ASP.NET verschwendet habe, hier mal ein Code-Schnipsel für ein funktionierendes Kontakt-Formular. Das ganze sollte auf allen Webseiten funktionieren, egal ob privater Blog oder kommerzielle Anwendung zum pokern und für andere web-basierte Spiele. Probiert es aus und schaut ob ihr es irgendwo verwenden könnt.
HTML-Code der .aspx-Seite
<h3>Kontaktformuar</h3>
<p> </p>
<form name="contactForm" method="post" action="siteKontakt.aspx">
<div align="center" id="contactForm">
<table>
<tr>
<td><b>Ihre eMail-Adresse:</b></td>
<td><input id="contactMail" type="text" size="45" /></td>
</tr>
<tr>
<td><b>Betreff:</b></td>
<td><input id="contactTopic" type="text" size="45" /></td>
</tr>
<tr>
<td><b>Nachricht:</b></td>
<td><textarea id="contactMsg" cols="40" rows="10"></textarea></td>
</tr>
<tr>
<td> </td>
<td><div align="center"><input id="contactButton" type="button" value="Nachricht abschicken" class="button" onclick="submitContactForm();"/></div></td>
</tr>
</table>
</div>
</form>
C#-Code der Masterpage
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Net;
using System.Net.Mail;
namespace Kontaktformular
{
public partial class Kontakt: System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
// Formulardaten auslesen
String contactTopic = Request.Form["contactTopic"];
String contactMail = Request.Form["contactMail"];
String contactMsg = Request.Form["contactMsg"];
// Testen ob das Formular abgeschickt und korrekt ausgefuellt wurde
if (contactTopic != null && contactTopic.Length > 1
&& contactMail != null && contactMail.Length > 5)
{
// Email-Nachricht erstellen
MailMessage email = new MailMessage();
email.To.Add("adressse@mailserver.de");
email.Subject = "[Kontaktformular] " + contactTopic.ToString();
email.From = new MailAddress(contactMail.ToString());
email.Body = contactMsg.ToString();
// Login-Daten zum Email-Server
NetworkCredential serverLogin = new NetworkCredential("adressse@mailserver.de", "passwort");
// Verbindung zum Email-Server herstellen
SmtpClient mailServer = new System.Net.Mail.SmtpClient("smtp.mailserver.de");
mailServer.UseDefaultCredentials = false;
mailServer.Credentials = serverLogin;
// SSL gesicherte Verbindung aufbauen
mailServer.EnableSsl = true;
// Email versenden
try
{
mailServer.Send(email);
}
catch (Exception exc)
{
// Fehlerbehandlung
}
}
}
}
}











