Odesílání e-mailů – 1. díl
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Odesílání e-mailů – 1. dílOdesílání e-mailů – 1. díl

 

Odesílání e-mailů – 1. díl

Google       Google       5. 7. 2006       22 055×

Častým problémem začínajících .NET vývojářů je odesílání e-mailů, proto se vás v příštích několika dílech pokusím seznámit se správným odesíláním e-mailových zpráv v prostředí .NET 2.0.

Jeden z nejčastěji pokládaných dotazů začínajících .NET vývojářů se týká odesílání e-mailů, proto se vás v následujících několika dílech pokusím s metodami odesílání e-mailů v prostředí .NET seznámit. Zpočátku se dozvíte něco o odesílání běžných zpráv, o metodách odesílání a jejich konfiguraci.

Vytvoření a odeslání zprávy

Zprávu vytvoříte vytvořením nové instance třídy System.Net.Mail.MailMessage – základní údaje o zprávě můžete nastavit přímo v jejím konstruktoru. V jednom z konstruktorů jsou požadovány 2 parametry typu System.Net.Mail.MailAddress – tato třída umožňuje zadat kromě e-mailové adresy i zobrazované jméno s jistotou, že se ve zprávě správně zakóduje.


public void SendMail()
{
    // vytvoření nové zprávy
    System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(new System.Net.Mail.MailAddress("odesilatel@mail.cz", "Odesílatel"), new System.Net.Mail.MailAddress("prijemce@mail.cz", "Příjemce"));
    // přiřazení dalšího příjemce - tímto bude mít zpráva 2 příjemce
    message.To.Add(new System.Net.Mail.MailAddress("prijemce2@mail.cz", "Příjemce2"));

    // předmět zprávy
    message.Subject = "Předmět zprávy";
    // tělo zprávy
    message.Body = "Tělo zprávy";
    // určení typu zprávy
    message.IsBodyHtml = true;

    // vytvoření SMTP klienta
    System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("smtp.mail.cz", 25);
    // pokud je to potřeba, můžete provést přihlášení k SMTP serveru
    smtp.Credentials = new System.Net.NetworkCredential("Username", "Password");
    // nastavení metody odesílání
    smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
    // můžete povolit nebo zakázat zabezpečené odeslání - některé SMTP servery nedovolují zabezpečené připojení
    smtp.EnableSsl = false;
    // odeslání vytvořené zprávy
    smtp.Send(message);
}

K odesílání zprávy slouží třída System.Net.Mail.SmtpClient. Třída mimo jiné umožňuje přihlášení k SMTP serveru, které probíhá prostřednictví třídy System.Net.NetworkCredential. Vlastnost DeliveryMethod, která je typu System.Net.Mail.SmtpDeliveryMethod, slouží k nastavení odesilací metody. Pokud vám to SMTP server dovolí, můžete přes vlastnost EnableSsl povolit zabezpečené odesílání zpráv.

Metody odesílání a jejich konfigurace

PickupDirectoryFromIis
Výchozí metoda, která použije mail pickup service lokálního IIS. K odeslání zprávy nemusí dojít, když .NET Framework není schopen načíst konfiguraci z IIS nebo když na serveru nejsou zapnuté SMTP services. Nepotřebuje žádné zvláštní nastavení.
SpecifiedPickupDirectory
Hodí se k vyřešení problému s načítáním konfigurace u předchozí metody, nebo když vlastně žádné e-maily posílat nechcete. Musíte specifikovat, jaký adresář se má použít, většinou C:\Inetpub\mailroot\Pickup.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.net>
    <mailSettings>
      <smtp from="odesilatel@mail.cz" deliveryMethod="SpecifiedPickupDirectory">
        <specifiedPickupDirectory pickupDirectoryLocation="C:\Inetpub\mailroot\Pickup"/>
      </smtp>
    </mailSettings>
  </system.net>
</configuration>
Network
Mnou preferovaná metoda, která k odeslání použije jakýkoliv SMTP server, který vám odeslání dovolí. Většinou je potřeba se přihlásit. Musíte specifikovat alespoň adresu SMTP serveru. Tato metoda funguje prakticky pokaždé.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.net>
    <mailSettings>
      <smtp from="odesilatel@mail.cz" deliveryMethod="Network">
        <network host="smtp.mail.cz" port="25" userName="Username" password="Password"/>
      </smtp>
    </mailSettings>
  </system.net>
</configuration>

Pod popisem metody je uveden příklad konfigurace, která probíhá v konfiguračním souboru aplikace – app.config v případě klientské aplikace a web.config v případě webové aplikace.

Závěrem

To je v 1. dílu vše, pokud vám tu něco podstatného chybí, neváhejte se zeptat v komentářích. Příště se dozvíte, jak správně odesílat přílohy a jak zobrazovat obrázkové přílohy v těle zprávy, aby je následně zobrazil každý klient pracující s HTML zprávami.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

2 názory  —  2 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Dušan JanošíkDušan vyvíjí software a webové aplikace na platformě .NET. Je milovníkem neuznávaných teorií, a zajímá se o parapsychologii a teraristiku.
Web     Twitter     Facebook     LinkedIn    

Nové články

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý