HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

E-mail küldése programból


E-mail 2. rész

Példaprogram letöltése

8236 bájt

Cikksorozatunk első részében megnéztük milyen alapvető lépéseket kell tennünk ahhoz, hogy programból e-mail-t tudjunk küldeni. Mostani részben az e-mail küldés funkciónak teljes tárházát sorra vesszük, így megtudhatunk mindent, ami csak az e-mail küldéssel összefügg.

Ahhoz, hogy az SmtpMail osztályt elérhessük, szükségünk lesz a System.Web.Mail névtérre. Válasszuk tehát a Project – Add Reference menüpontot, majd a .NET lapon keressük elő a System.Web.dll-t. Ezután Select, majd Ok és már írhatjuk is:
using System.Web.Mail;
Az e-mail küldéséhez most is az SmtpMail osztály Send függvényét fogjuk használni, viszont ebből most azt a változatot, mely egy MailMessage osztályt vár paraméterként. Küldés előtt tehát létre kell hoznunk egy ilyen osztályt és megadnunk annak minden szükséges paraméterét.
Kezdjük a létrehozással. Készítünk egy globális változót mm névvel.
    private MailMessage mm = new MailMessage();
A MailMessage osztály részére szükséges adatokat a Form-on lévő beviteli eszközökön keresztül adhatjuk meg.
A levél feladójának címe kerül a MailMessage From property-jébe.
    private void button1_Click(object sender, System.EventArgs e)
    {
      mm.From = textBox2.Text;
A To property-be kell írnunk, hogy kinek az e-mail címére küldjük a levelet.
      mm.To = textBox3.Text;
A Cc és Bcc property-kbe kerülnek a másolatok címei. Az e-mail címek megadásánál pontosvesszővel elválasztva szükség esetén több e-mail címet is megadhatunk.
      mm.Cc = textBox4.Text;
      mm.Bcc = textBox5.Text;
Levelünk tárgya a Subject property-be kerül.
      mm.Subject = textBox6.Text;
A prioritást a Priority property-ben állíthatjuk, enne értéke az alábbiak egyike lehet:
  • High
  • Low
  • Normal
      mm.Priority = (MailPriority)listBox1.SelectedIndex;
E-mail szövege a Body property-be kerül.
      mm.Body = textBox7.Text;
Ennek a szövegnek a kódolását a BodyEncoding property értéke határozza meg, melynek értéke az alábbiak egyike lehet:
  • ASCIIEncoding
  • UnicodeEncoding
  • UTF7Encoding
  • UTF8Encoding
      switch (listBox2.SelectedIndex)
      {
        case 0: 
          mm.BodyEncoding = Encoding.ASCII;
          break;
        …
      }
A szöveg formátuma a BodyFormat property-ben adható meg. Ez HTML, vagy Text lehet.
      mm.BodyFormat = (MailFormat)listBox3.SelectedIndex;      
Ha csatolni is szeretnénk állományokat a levelünkhöz, akkor szükségünk lesz a MailAttachment osztály kezelésére is. Mellékelt példában egy ListBox-ba gyűjthetjük össze az e-mail küldése előtt azokat az állományokat, melyeket csatolni szeretnénk. Így a küldéskor most nincs más dolgunk, mint végigmenni egy ciklussal a ListBox összes elemén és minden egyesnél egy MailAttachment objektumot létrehozni, melynek konstruktoránál megadjuk az állomány nevet elérési útvonallal együtt. A létrejött objektumot ezek után a MailMessage osztály Attachments property-jén keresztül elérhető Add függvény hívásával adhatjuk hozzá az elküldendő e-mail-hez.
      foreach (string s in listBox4.Items)
      {
        MailAttachment ma = new MailAttachment(s);
        mm.Attachments.Add(ma);
      }
Ezzel a MailMessage osztály példánya el is készül az e-mail elküldéséhez. Most már csak meg kell adnunk az SMTP szerverünk nevét az SmtpMail osztály SmtpServer property-jében.
      SmtpMail.SmtpServer = textBox1.Text;
Majd utolsó lépésként meghívjuk a Send függvényt, átadva neki az előkészített MailMessage objektumot.
      SmtpMail.Send(mm);
      label12.Text = "WindowsCodePage: " + mm.BodyEncoding.WindowsCodePage.ToString();
    }

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2001 évkönyv 206. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |