Kolumne: Silverlight Expertise

E-Mail versenden Reactive Coding WP7-Emulator mit Tastatur bedienen
Kommentare

Die Silverlight-Kolumne „Silverlight Expertise“ des dot.NET Magazins präsentiert monatlich zwei leckere Top-How-tos zum Thema Silverlight von Gregor Biswanger (http://www.dotnet-blog.net), sodass Einsteiger und Fortgeschrittene Silverlight-Experten durch geballtes Wissen gesättigt werden. Neu dazu kommt jeweils ein How-to zur Windows-Phone-7-Entwicklung. Heute stehen auf der Menükarte „E-Mail versenden mit Silverlight“, „Reactive Coding mit Silverlight“ und „Windows Phone 7 Emulator mit der Tastatur bedienen“. Viel Spaß und einen guten Appetit!

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);
}  

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -