Szoftverfejlesztés .NET platformon - Jegyzet 15. fejezet

A VIK Wikiből
A lap korábbi változatát látod, amilyen Hryghr (vitalap | szerkesztései) 2013. május 19., 22:26-kor történt szerkesztése után volt. (Hryghr átnevezte a(z) Szoftverfejlesztés .NET plattformon - Jegyzet 15. fejezet lapot a következő névre: Szoftverfejlesztés .NET platformon - Jegyzet 15. fejezet: pontos név)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)

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.