Odesíláme e-maily s přílohou
6. května 2008
|
Radek Kropík
|
V jednom z minulých článků jsme si ukázali, jak odesílat z webové stránky e-maily pomoci ASP.NET. Jedna věc tam ale chyběla a to, jak k e-mailu připojit přílohu, na což se zaměříme právě v tomto článku.
Vytvoření a odeslání e-mailu
Prvně vytvoříme e-mailovou zprávu pomocí třídy System.Net.Mail.MailMessage, kterou jsme použili v minulém článku. Poté připojíme přílohu pomocí třídy System.Net.Mail.Attachment a nakonec e-mail odešleme za pomoci instance třídy SmtpClient.
//Nejprve pomocí direktivy Using načteme potřebné jmenné prostory:
Using System.Net;
Using System.Net.Mail;
//vytvoříme nový e-mail
MailMessage MailMsg = new MailMessage();
//Vložíme odesílatele
MailMsg.From = new MailAddress("pavla@example.com", "Pavla");
//Vložíme příjemce
MailMsg.To.Add(new MailAddress("pavel@example.com", "Pavel"));
//Vložíme předmět e-mailu
MailMsg.Subject = ("Nový e-mail");
//Vložíme text e-mailu
MailMsg.Body = ("Posíláme mail.");
//Přiložíme přílohu
Attachment Priloha = new Attachment("c:/obrazek.jpg");
//Nastavíme MIME typ přílohy
Priloha.ContentType.MediaType = Mime.MediaTypeNames.Image.Jpeg;
//Přídáme přílohu k e-mailu
MailMsg.Attachments.Add(Priloha);
//vytvoříme instanci SMTP klienta
SmtpClient SendMail = new SmtpClient("localhost", 25);
//Nakonec e-mail odešleme
SendMail.Send(MailMsg);
Samozřejmě nesmíme zapomenout v souboru web.config správně nakonfigurovat důležité údaje, aby odesílání e-mailů fungovalo. Více informací o konfiguraci v souboru web.config můžete opět najít v minulém článku o odesílání e-mailů.
<configuration>
<system.net>
<mailSettings>
<smtp from="odesilatel@example.com" deliveryMethod="Network">
<network host="localhost" port="25" userName="Uzivatel"
password="Heslo">
</smtp>
</mailSettings>
</system.net>
</configuration>
Nyní by již mělo odesílání e-mailů s přílohou fungovat. Jak je z příkladu vidět, je odesílání ať už normálních e-mailů či e-mailů s přílohami v prostředí ASP.NET opravdu velice jednoduché. V některém z dalších článků si ukážeme, jak odesílat tzv. HTML e-maily.