Menü 1 für Einsteiger: E-Mail versenden mit Silverlight
Silverlight bietet oft mehr Features, als man von einem 6 MB großem .NET-Framework erwartet hätte. Jedoch kann vom kleinen RIA-Giganten keine E-Mail direkt gesendet werden. Diese Aufgabe muss der Server abnehmen. Dazu muss auch kein hoher Aufwand investiert werden. Man muss lediglich einen einfachen Web Service in wenigen Schritten erstellen. Dazu wird mittels Rechtsklick auf das Webprojekt im Kontextmenü ADD ausgewählt und anschließend im Dialog ein Silverlight-enabled WCF Web Service angelegt. Zum Versenden einer E-Mail werden vom Client ein paar Informationen via String-Parameter benötigt, zum Beispiel der Empfänger, der Absender, die Betreffzeile und die Nachricht selbst. Diese Informationen kommen anschließend in ein MailMessage-Objekt. Zum Versenden von E-Mails wird auch noch ein E-Mail-Server (SMTP-Server) benötigt. Diesen spricht man mit der SmtpClient-Klasse an, wobei als E-Mail dann das MailMessage-Objekt dient. Listing 1 zeigt deren einfache Implementierung an.
[OperationContract] public void SendMail(string emailTo, string emailFrom, string messageSubject, string messageBody) { MailMessage message = new MailMessage(); message.From = new MailAddress(emailFrom); message.To.Add(new MailAddress(emailTo)); message.Subject = messageSubject; message.Body = messageBody; message.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = "111.111.111.111"; // Ersetzen mit der IP-Adresse vom E-Mail Server smtp.Port = 25; smtp.EnableSsl = false; smtp.Send(message); }