TOC

This article has been localized into Romanian by the community.

Diverse:

Trimiterea de email-uri

Trimiterea de e-mail-uri folosind ASP.NET este destul de simpla. .NET Framework ofera un namespace intreg pentru utilizarea e-mail-urilor, namespace-ul System.Net.Mail. In urmatoarele exemple, o sa folosim 2 clase apartinand acestui namespace: Clasa MailMessage, pentru e-mail-ul propriu-zis, si clasa SmtpClient pentru trimiterea lui.

Dupa cum probabil ai aflat, Mail-urile sunt trimise printr-un server SMTP, si pentru a trimite email-uri folosind .NET framework o sa ai nevoie sa accesezi serverul SMTP. Daca testezi lucrurile loca, compania care-ti ofera acces la internet va avea de obicei un server SMTP pe care poti sa-l folosesti. Daca vrei sa folosesti unul dintre aceste exemple pentru website-ul tau, compania care-ti host-eaza website-ul va avea, de obicei, un server SMTP pe care sa-l folosesti. Mergi la paginile de suport sa gasesti adresa actuala, este de obicei similara cu smtp.your-isp.com sau mail.your-isp.com.

Odata ce ai acces la un server SMTP, suntem gata sa trimitem primul nostru e-mail. Pentru primul exemplu, ai nevoie de o pagina goala cu urmatorul cod in CodeBehind:

protected void Page_Load(object sender, EventArgs e)
{
    try
    {
        MailMessage mailMessage = new MailMessage();
        mailMessage.To.Add("your.own@mail-address.com");
        mailMessage.From = new MailAddress("another@mail-address.com");
        mailMessage.Subject = "ASP.NET e-mail test";
        mailMessage.Body = "Hello world,\n\nThis is an ASP.NET test e-mail!";
        SmtpClient smtpClient = new SmtpClient("smtp.your-isp.com");
        smtpClient.Send(mailMessage);
        Response.Write("E-mail sent!");
    }
    catch(Exception ex)
    {
        Response.Write("Could not send the e-mail - error: " + ex.Message);
    }
}

Doar de asta ai nevoie pentru a trimite un e-mail. Am creat o noua instanta MailMessage, adaugat un nou receptor, setat adresa "From" si subiectul, si apoi am scris un simplu mesaj de test pentru corpul e-mail-ului. Dupa aceasta, am facut o noua instanta a SmtpClient, cu adresa de Host a serverului SMTP pe care il folosesti ca un parametru, apoi folosim SmtpClient pentru a arunca e-mail-ul in spatiul cibernetic. Totul este intr-un bloc try..catch, in cazul in care ceva nu functioneaza.

Acesta a fost un exemplu de baza, dar sunt mult mai multe optiuni. Mai jos este o lista scurta cu idei interesante:

Poti sa atasezi unul sau mai multe fisiere, prin adaugarea lor la colectia de atasamente. In acest exemplu, atasam un fisier numit "image.jpg", localizat in fisierul de baza al web-site-ului ASP.NET.

mailMessage.Attachments.Add(new Attachment(Server.MapPath("~/image.jpg")));

Poti trimite mai multor persoane in acelasi timp, prin adaugarea altei adrese de e-mail la colectia "To", asa:

mailMessage.To.Add("your.own@mail-address.com");
mailMessage.To.Add("another@mail-address.com");

Poti sa numesti expeditorul - in caz contrar, doar adresa de e-mail va fi vizibila in coloana "From" al receptorului. De exemplu:

mailMessage.From = new MailAddress("me@mail-address.com", "My Name");

Poti trimite e-mail-uri HTML, in locul celor standard plaintext, pentru a folosi scheme mai complicate. Mai jos este un exemplu simplu:

mailMessage.IsBodyHtml = true;
mailMessage.Body = "Hello <b>world!</b>";

Poti sa folosesti campurile CC si BCC, ca si in mesajele de e-mail obisnuite, in acest fel:

mailMessage.CC.Add("me@mail-address.com");
mailMessage.Bcc.Add("me2@mail-address.com");

Poti sa setezi prioritatea unui e-mail, in acest fel:

mailMessage.Priority = MailPriority.High;
This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!