Szoftverfejlesztés .NET platformon - Jegyzet 15. fejezet

A VIK Wikiből

Ez az oldal a korábbi SCH wikiről lett áthozva.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.


70-536 .NET Framework 2.0 Application Development Foundation

%TOC{depth="3"}%

Levél összeállítása

  • new MailMessage() üresen vagy paraméterekkel
MailMessage m = new MailMessage(fromAddr, toAddr, subject, message);
	  
  • címzettek, és egyéb paraméterek megadása

(From, To, Subject, Body, DeliveryNotificationOptions, ReplyTo, Priority)

  • AlternateView hozzáadása, ha text és html nézet is kell. Alapból html levél: m.IsBodyHtml = True
  • beágyazott kép
LinkedResource pic1 = new LinkedResource("pic.jpg", MediaTypeNames.Image.Jpeg);
pic1.ContentId = "Pic1";
avHtml.LinkedResources.Add(pic1);
// hivatkozás rá: <img src="cid:Pic1">
	  
  • Attachment hozzáadása:
m.Attachments.Add(new Attachment(@"C:\boot.ini"));
m.Attachments.Add(new Attachment(stream, file név, MediaTypeNames.Application.Octet));
	  

Levél küldése

  • SmtpClient sc = new SmtpClient(), szerver paraméterek beállítása
  • authentikációs adatok beállítása
sc.Credentials = new NetworkCredential(usernameTextBox.Text, passwordTextBox.Text);
	  
  • sc.Send(MailMessage) vagy sc.SendAsync(MailMessage)
  • lehetséges exception-ök
    • InvalidOperationException: nincs smtp hoszt név megadva
    • SmtpException, belül WebException: érvénytelen hosztnév
    • SmtpFailedRecipientException: érvénytelen címzett (csak szinkron küldéskor)
    • SmtpException: authentikációs vagy egyéb hiba
  • SSL authentikáció: sc.EnableSsl = true
  • aszinkron küldés
    • sc.SendCompleted eseményre eseménykezelő megírása
    • eseménykezelő beregisztrálása
    • sc.SendAsync()
    • leállítás: sc.SendAsyncCancel()

-- Peti - 2007.07.03.