Lucrul cu e-mail-ul. Expediere programată de e-mail folosind diverse servicii Trimiteți un mesaj către e-mail c

Comandantul navei 14 octombrie 2013 la 19:29

Trimiteți programatic e-mail folosind diverse servicii

  • .NET,

De foarte multe ori trebuie să aveți de-a face cu trimiterea e-mailuri din codul programului. Nu trebuie să mergeți departe pentru exemple.

Acest articol este un indiciu și nu dezvăluie nimic nou, dar înainte de a-l scrie, m-am uitat la ceva similar pe Internet și am fost mai degrabă surprins că aproape oriunde oferă fie o soluție care nu funcționează sau depășește, fie că este scris pur și simplu analfabet.

Primul lucru care nu trebuie făcut cu aceste exemple este să utilizați System.Web.Mail, care a fost depreciat de mult timp și începând cu Studio vizual 2010, nici măcar nu puteți adăuga biblioteca System.Web fără să cunoașteți calea completă către DLL-ul corespunzător.
În schimb, se sugerează utilizarea bibliotecii System.Net.
folosind System.Net; folosind System.Net.Mail;
Deci, cel mai simplu, este cel mai important și adesea folosit este trimiterea unei scrisori de la dvs. server de mail pe care este configurat clientul SMTP. După cum ați înțeles, serverul poate fi fie cel pe care rulează aplicația, fie unul la distanță, pe care aveți dreptul de a trimite scrisori fără autorizație suplimentară.

Exemplu de cod pentru trimiterea unei scrisori de la o mașină locală:
", "[e-mail protejat]")) (mm.Subject =" Mail Subject "; mm.Body =" Mail Corp "; mm.IsBodyHtml = false; using (SmtpClient sc = new SmtpClient (" 127.0.0.1 ")) (// Adresa ar trebui să fie aici serverul de poștă și portul dacă este necesar sc.Send (mm);))

Folosind servicii poștale precum Gmail, Yandex, Mail.ru etc. totul este la fel, se adaugă numai parametrii cu autorizație.

Server SMTP: smtp.gmail.com
Port: 587
folosind (MailMessage mm = new MailMessage ("Nume ", "[e-mail protejat]")) (mm.Subject =" Subiectul poștei "; mm.Body =" Corpul poștei "; mm.IsBodyHtml = fals; folosind (SmtpClient sc = nou SmtpClient (" smtp.gmail.com ", 587)) (sc. EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential (" [e-mail protejat]"," GmailPassword "); sc.Send (mm);))

Server SMTP: smtp.yandex.ru
Port: 25
folosind (MailMessage mm = new MailMessage ("Nume ", "[e-mail protejat]")) (mm.Subject =" Subiectul poștei "; mm.Body =" Corpul poștei "; mm.IsBodyHtml = fals; folosind (SmtpClient sc = nou SmtpClient (" smtp.yandex.ru ", 25)) (sc. EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential (" [e-mail protejat]"," YandexPassword "); sc.Send (mm);))

Server SMTP: smtp.mail.ru
Port: 25
folosind (MailMessage mm = new MailMessage ("Nume ", "[e-mail protejat]")) (mm.Subject =" Subiectul poștei "; mm.Body =" Corpul poștei "; mm.IsBodyHtml = fals; folosind (SmtpClient sc = nou SmtpClient (" smtp.mail.ru ", 25)) (sc. EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential (" [e-mail protejat]"," MailRuPassword "); sc.Send (mm);))
Daca ai cutie poștală pe serviciul mail.ru se termină cu inbox.ru, list.ru sau bk.ru, apoi adresa serverului SMTP (smtp.inbox.ru, smtp.list.ru și smtp.bk.ru) se modifică corespunzător.

După cum puteți vedea, pentru a utiliza orice alt serviciu de e-mail în programele dvs., trebuie doar să aflați adresa și portul serverului SMTP, precum și regulile de autorizare.

De asemenea, trebuie amintit faptul că aproape toți terții servicii poștale impune limite numărului de e-mailuri trimise într-o perioadă de timp.

Etichete: e-mail, trimiterea de e-mailuri, smtp

Una dintre cele mai solicitate funcții de pe site este formularul de cerere sau de comandă, ale cărui date sunt trimise prin poștă proprietarului site-ului. De regulă, astfel de formulare sunt simple și constau din două sau trei câmpuri pentru introducerea datelor. Cum creați un astfel de formular de comandă? Acest lucru va necesita utilizarea limbajului Marcare HTMLși limbajul de programare PHP.

Limbajul de marcare HTML în sine este simplu, trebuie doar să vă dați seama cum și unde să puneți anumite etichete. Cu limbajul de programare PHP, lucrurile sunt puțin mai complicate.

Nu va fi dificil pentru un programator să creeze un astfel de formular, dar pentru un coder HTML, unele acțiuni pot părea dificile.

Creați un formular pentru trimiterea datelor în html

Prima linie va fi următoarea

Acesta este un element foarte important al formularului. În acesta, indicăm în ce mod vor fi transferate datele și în ce fișier. În acest caz, totul este trimis prin metoda POST în fișierul send.php. Programul din acest fișier, respectiv, trebuie să accepte datele, acestea vor fi conținute în matricea de postare și le vor trimite la adresa de e-mail specificată.

Să ne întoarcem la formular. A doua linie va conține un câmp pentru introducerea numelui complet. Are următorul cod:

Tipul formularului este text, adică utilizatorul poate introduce sau copia text aici de la tastatură. Parametrul nume conține numele formularului. În acest caz, acesta este fio, sub acest nume va fi transmis tot ce a introdus utilizatorul în acest câmp. Parametrul substituent specifică ceea ce va fi scris în acest câmp ca explicație.

Următoarea linie:

Aici, aproape totul este la fel, dar numele câmpului este e-mail, iar explicația indică faptul că utilizatorul ar trebui să introducă adresa de e-mail în acest formular.

Următorul rând va fi butonul „trimiteți”:

Și ultima linie din formular va fi eticheta

Acum să punem totul împreună.





Acum vom face ca câmpurile din formular să fie obligatorii. Avem următorul cod:





Creați un fișier care acceptă date dintr-un formular HTML

Acesta va fi un fișier numit send.php

În fișier, în prima etapă, trebuie să acceptați date din tabloul de postări. Pentru a face acest lucru, creăm două variabile:

$ fio = $ _POST ["fio"];
$ email = $ _POST ["email"];

Numele variabilelor PHP sunt precedate de un semn $ și un punct și virgulă la sfârșitul fiecărei linii. $ _POST este un tablou către care sunt transmise datele din formular. În formularul html, metoda de trimitere este specificată ca metodă = "postare". Deci, sunt preluate două variabile formulare html... În scopul protejării site-ului dvs., trebuie să treceți aceste variabile prin mai multe filtre - funcții php.

Prima funcție convertește toate caracterele pe care utilizatorul încearcă să le adauge la formular:

În acest caz, nu sunt create noi variabile în php, dar sunt utilizate cele existente. Ce va face filtrul este să convertească caracterul "<" в "<". Также он поступить с другими символами, встречающимися в html коде.

A doua funcție va decoda adresa URL dacă utilizatorul încearcă să o adauge la formular.

$ fio = urldecode ($ fio);
$ email = urldecode ($ email);

În a treia funcție, vom elimina spațiile de la începutul și sfârșitul șirului, dacă există:

$ fio = trim ($ fio);
$ email = trim ($ email);

Există și alte funcții pentru a filtra variabilele php. Utilizarea lor depinde de cât de mult vă temeți că un atacator va încerca să adauge cod la această formă de trimitere de date către e-mail html.

Validarea datelor transmise din formularul HTML în fișierul PHP

Pentru a verifica dacă acest cod funcționează, dacă datele sunt transmise, îl puteți afișa pur și simplu pe ecran folosind funcția de ecou:

echo $ fio;
ecou "
";
echo $ email;

A doua linie este aici pentru a împărți ieșirea variabilelor php în linii diferite.

Trimiterea datelor primite din formularul HTML la e-mail prin PHP

Pentru a trimite date la e-mail, trebuie să utilizați funcția de e-mail în PHP.

mail („la care adresă trebuie trimisă”, „subiectul scrisorii”, „Mesaj (corpul mesajului)”, „De la: din care e-mail este trimisă scrisoarea \ r \ n”);

De exemplu, trebuie să trimiteți date către e-mailul proprietarului sau managerului site-ului [e-mail protejat]

Subiectul e-mailului trebuie să fie clar, iar mesajul e-mail trebuie să conțină ceea ce a specificat utilizatorul în formularul HTML.

Poștă (" [e-mail protejat]"," Aplicație de pe site "," Numele complet: ". $ Fio.". E-mail: ". $ E-mail," De la: [e-mail protejat]\ r \ n ");

Trebuie să adăugați o condiție care va verifica dacă formularul a fost trimis folosind PHP la adresa de e-mail specificată.

if (mail („ [e-mail protejat]"," Comanda de pe site "," Numele complet: ". $ Fio.". E-mail: ". $ E-mail," De la: [e-mail protejat]\ r \ n "))
{
ecou „mesaj trimis cu succes”;
) altceva (
}

Astfel, codul de program al fișierului send.php care va trimite datele formularului HTML la poștă va arăta astfel:

$ fio = $ _POST ["fio"];
$ email = $ _POST ["email"];
$ fio = htmlspecialchars ($ fio);
$ email = htmlspecialchars ($ email);
$ fio = urldecode ($ fio);
$ email = urldecode ($ email);
$ fio = trim ($ fio);
$ email = trim ($ email);
// ecou $ fio;
// ecou "
";
// ecou $ email;
if (mail („ [e-mail protejat]"," Aplicație de pe site "," Numele complet: ". $ Fio.". E-mail: ". $ E-mail," De la: [e-mail protejat]\ r \ n "))
(ecou „mesaj trimis cu succes”;
) altceva (
ecou „au apărut erori în timpul trimiterii mesajului”;
}?>

Trei linii pentru a verifica dacă datele trecute la fișier sunt comentate. Dacă este necesar, le puteți elimina, deoarece acestea erau necesare numai pentru depanare.

Punerea codului HTML și PHP pentru trimiterea formularului într-un singur fișier

În comentariile la acest articol, mulți oameni se întreabă cum se realizează atât formularul HTML, cât și codul PHP pentru trimiterea datelor către e-mail într-un singur fișier, nu în două.

Pentru a implementa o astfel de lucrare, trebuie să puneți codul HTML al formularului în fișierul send.php și să adăugați o condiție care va verifica prezența variabilelor în matricea POST (această matrice este transmisă din formular). Adică, dacă variabilele din matrice nu există, atunci trebuie să arătați formularul utilizatorului. În caz contrar, trebuie să acceptați date din matrice și să le trimiteți destinatarului.

Să vedem cum să schimbăm codul PHP în fișierul send.php:



Formular de cerere de pe site


// verificați dacă variabilele există în matricea POST
if (! isset ($ _ POST ["fio"]) și! isset ($ _ POST ["email"]))) (
?>





) altceva (
// arată forma
$ fio = $ _POST ["fio"];
$ email = $ _POST ["email"];
$ fio = htmlspecialchars ($ fio);
$ email = htmlspecialchars ($ email);
$ fio = urldecode ($ fio);
$ email = urldecode ($ email);
$ fio = trim ($ fio);
$ email = trim ($ email);
if (mail (" [e-mail protejat]"," Aplicație de pe site "," Numele complet: ". $ Fio.". E-mail: ". $ E-mail," De la: [e-mail protejat]\ r \ n ")) (
ecou „Mesaj trimis cu succes”;
) altceva (
ecou „Au fost erori la trimiterea mesajului”;
}
}
?>

Verificăm existența unei variabile în matricea POST utilizând funcția PHP isset (). Un semn de exclamare înaintea acestei funcții într-o condiție înseamnă negare. Adică, dacă variabila nu există, atunci trebuie să ne arătăm forma. Dacă nu aș fi pus un semn de exclamare, atunci condiția ar însemna literalmente - „dacă există, atunci arată forma”. Și acest lucru este greșit în cazul nostru. Bineînțeles, îl puteți redenumi în index.php. Dacă redenumiți fișierul, nu uitați să redenumiți numele fișierului și în linie

... Formularul ar trebui să trimită link către aceeași pagină, de exemplu index.php. Am adăugat titlul paginii în cod.

Erori frecvente care apar la trimiterea unui formular PHP de pe un site

Prima, probabil cea mai frecventă greșeală, este atunci când vedeți o pagină albă goală, fără mesaje. Aceasta înseamnă că ați făcut o greșeală în codul paginii. Trebuie să activați afișarea tuturor erorilor în PHP și apoi veți vedea unde a fost comisă eroarea. Adaugă la codul tău:

ini_set ("display_errors", "On");
error_reporting ("E_ALL");

Fișierul send.php trebuie rulat numai pe server, altfel codul pur și simplu nu va funcționa. Este de dorit ca acesta să nu fie un server local, deoarece nu este întotdeauna configurat pentru a trimite date către un server de mail extern. Dacă rulați codul pe o parte non-server, codul PHP va fi afișat direct pe pagină.

Astfel, pentru o funcționare corectă, vă recomand să plasați fișierul send.php pe site-ul de găzduire. Acolo, de regulă, totul este deja configurat.

O altă greșeală obișnuită este atunci când apare notificarea „Mesajul trimis cu succes” și scrisoarea nu ajunge în e-mail. În acest caz, trebuie să verificați cu atenție linia:

if (mail („ [e-mail protejat]"," Comanda de pe site "," Numele complet: ". $ Fio.". E-mail: ". $ E-mail," De la: [e-mail protejat]\ r \ n "))

In loc de [e-mail protejat] ar trebui să existe o adresă de e-mail la care doriți să trimiteți scrisoarea și în loc de[e-mail protejat] trebuie să existe un e-mail existent al acestui site. De exemplu, pentru un site, site-ul va fi ... Doar în acest caz va fi trimisă o scrisoare cu date din formular.

Ultima actualizare: 31.10.2015

Pentru a trimite e-mailuri pe Internet, se folosește Protocolul de transfer simplu al e-mailului (SMTP). Acest protocol specifică modul în care comunică serverele de poștă electronică atunci când transmit e-mail.

Clasa SmtpClient din spațiul de nume System.Net.Mail este proiectată să funcționeze cu protocolul SMTP și să trimită e-mail în .NET.

Această clasă definește o serie de proprietăți care vă permit să personalizați trimiterea:

    Gazdă: smtp-server de la care este trimisă poșta. De exemplu, smtp.yandex.ru

    Port: port utilizat de serverul SMP. Dacă nu este specificat, portul 25 este utilizat implicit.

    Acreditări: acreditări ale expeditorului

    EnableSsl: indică dacă SSL va fi utilizat la trimitere

O altă clasă cheie utilizată la trimitere este MailMessage. Această clasă reprezintă mesajul care trebuie trimis. Printre proprietățile sale se numără următoarele:

    Atașamente: conține toate atașamentele la scrisoare

    Corp: direct textul scrisorii

    De la: adresa expeditorului. Reprezintă un obiect MailAddress

    Către: adresa destinatarului. De asemenea, reprezintă un obiect MailAddress

    Subiect: definește subiectul e-mailului

    IsBodyHtml: indică dacă e-mailul reprezintă conținut cu cod html

Să folosim aceste clase și să trimitem scrisoarea:

Utilizarea sistemului; folosind System.Net; folosind System.IO; folosind System.Threading.Tasks; folosind System.Net.Mail; spațiu de nume NetConsoleApp (clasa Program (static void Main (string args)) (// expeditor - setați adresa și numele afișate în litera MailAddress from = new MailAddress (" [e-mail protejat]"," Tom "); // căruia îi trimitem MailAddress către = new MailAddress (" [e-mail protejat]"); // creați un obiect de mesaj MailMessage m = nou MailMessage (de la, la); // subiectul mesajului m.Subject =" Test "; // text mesaj m.Body ="

Scrisoare de test pentru clientul SMTP

"; // litera reprezintă codul html m.IsBodyHtml = true; // adresa serverului smtp și portul de la care vom trimite scrisoarea SmtpClient smtp = new SmtpClient (" smtp.gmail.com ", 587) ; // autentificare și parolă smtp.Credentials = new NetworkCredential (" [e-mail protejat]"," parola mea "); smtp.EnableSsl = true; smtp.Send (m); Console.Read ();)))

Pentru trimitere, se utilizează metoda Send (), căreia i se transmite un obiect MailMessage.

De asemenea, putem folosi versiunea asincronă de trimitere utilizând metoda SendMailAsync:

Utilizarea sistemului; folosind System.Net; folosind System.IO; folosind System.Threading.Tasks; folosind System.Net.Mail; spațiu de nume NetConsoleApp (clasa Program (static void Main (string args) [e-mail protejat]"," Tom "); MailAddress to = new MailAddress (" [e-mail protejat]"); MailMessage m = new MailMessage (de la, la); m.Subject =" Test "; m.Body =" Testează litera 2 a operației client smtp "; SmtpClient smtp = new SmtpClient (" smtp.gmail.com ", 587); smtp.Credentials = new NetworkCredential (" [e-mail protejat]"," parola mea "); smtp.EnableSsl = true; await smtp.SendMailAsync (m); Console.WriteLine (" Mail trimis ");)))

Adăugarea de atașamente

Putem atașa atașamente la scrisoare folosind proprietatea Attachments. Fiecare atașament reprezintă un obiect System.Net.Mail.Attachment:

MailAddress from = new MailAddress (" [e-mail protejat]"," Tom "); MailAddress to = new MailAddress (" [e-mail protejat]"); MailMessage m = new MailMessage (de la, la); m.Attachments.Add (noul atașament (" D: //temlog.txt "));

Trimiterea mesajelor către e-mail în Visual Studio 2013 C ++


S-ar părea, de ce să reinventăm roata? Există multe programe care pot trimite e-mailuri la e-mail, atât gratuite, cât și cu plată. În aceste programe, puteți trimite scrisori nu unuia, ci mai multor destinatari simultan. Cu toate acestea, totuși, adăugarea de destinatari se face manual, este o sarcină tristă să conduci în adresele lor, mai ales dacă există mai mult de o duzină de aceștia. Ce se întâmplă dacă trebuie să trimiteți sute de e-mailuri în mod regulat? Și nu vorbesc despre spam, ci mă refer la corespondențe complet legale?

În acest caz, un program special poate veni în ajutor. În acest articol, nu va exista un astfel de program întreg, ci un mic program care trimite pur și simplu o scrisoare la o singură adresă. În acest caz, autorizarea are loc prin smpt, adică scrisoarea nu este trimisă de nicăieri, ci dintr-o cutie poștală complet reală. Exemplul folosește mail.ru mail.

Deci, iată textul programului.

#includeți „stdafx.h” # folosind utilizarea sistemului de spațiu de nume; folosind spațiul de nume System :: Net; folosind spațiul de nume System :: Net :: Mail; folosind spațiul de nume System :: Net :: Mime; folosind spațiul de nume System :: Threading; folosind spațiul de nume System :: ComponentModel; int main () (SmtpClient ^ Smtp = gcnew SmtpClient ("smtp.mail.ru", 25); Smtp-> Credentials = gcnew NetworkCredential ("[email protected]", "your_password"); Smtp-> EnableSsl = true ; MailMessage ^ Message = gcnew MailMessage (); Message-> From = gcnew MailAddress ("[email protected]"); Message-> To-> Add (gcnew MailAddress ("[email protected]")); Message- > Subiect = "Titlu"; Mesaj-> Corp = "Mesaj"; Smtp-> Trimite (Mesaj);) Merită menționat imediat ce condiții trebuie îndeplinite: un proiect în Visual Studio 2013 este creat nu numai pentru C + +, trebuie să fie în continuare consolă, să susțină mediul CLR. Să aruncăm o privire mai atentă la ceea ce se întâmplă și în ce linie din acest program C ++ care trimite un mesaj către căsuța de e-mail selectată.

De la prima până la a opta linie, fișierele antet și spațiile de nume sunt conectate. Linia 13 inițializează serverul smpt. Yandex și Google își folosesc propriile lor: smtp.yandex.ru și, respectiv, smtp.google.ru. Numărul 25 de pe această linie este portul. În cazul în care furnizorul dvs. blochează acest port sau nu este posibil să vă conectați, puteți încerca aceste opțiuni 465 sau 587. În linia 14, trebuie să introduceți caseta de e-mail (de la care va fi trimisă scrisoarea) și parola pentru această casetă.

Acordați o atenție specială liniei 15 - aceasta conectează protocolul SSL securizat. Acest lucru este obligatoriu pentru Yandex și Mail. Linia 17 creează un mesaj; la 18 - adresa de retur; la 19 - adresa destinatarului; 20 - antet scrisoare; 21 - mesaj; în a 22-a linie, se face trimiterea. Dacă după pornirea programului nu apar erori, nu se întâmplă nimic, atunci totul este în regulă - verificați căsuța poștală a destinatarului.

Dacă aveți cel puțin câteva abilități de programare, atunci finalizarea restului va fi rapid. Este necesar să creați o fereastră, un formular, sub mai multe câmpuri de intrare, forțați programul să încarce o listă de adrese dintr-un fișier text sau o bază de date MS Access. Dacă acest lucru nu vă este încă complet clar, atunci în articolele următoare vă voi spune mai multe despre toate.

Orice întrebări despre programe în C ++, java, scripturi în java script și php, crearea și aspectul site-ului web, le puteți adresa prin e-mail [e-mail protejat] sau bateți pe skype up777up2. Pentru o taxă foarte rezonabilă, voi fi bucuros să vă ajut.

Plus

Unul dintre vizitatorii blogului a pus o întrebare: cum să atașați un fișier în acest program? Răspunsul este simplu: trebuie să adăugați câteva linii de cod la aplicația dvs.:

Șir ^ att = L "att.xls"; Attachment ^ dan = gcnew Attachment (att, MediaTypeNames :: Application :: Octet); Mesaj-> Atașamente-> Adăugați (dan); În prima linie definim fișierul atașat, în a doua definim datele și ordonăm să nu le interpretăm (antetul Content-Type al protocolului MIME) și în al treilea îl adăugăm la mesaj. Asta e tot.

Comandantul navei 14 octombrie 2013 la 19:29

Expediere programată de e-mail folosind diverse servicii

De foarte multe ori trebuie să vă ocupați de trimiterea de e-mailuri din codul programului. Nu trebuie să mergeți departe pentru exemple.

Acest articol este un indiciu și nu dezvăluie nimic nou, dar înainte de a-l scrie, m-am uitat la ceva similar pe Internet și am fost mai degrabă surprins că aproape oriunde oferă fie o soluție care nu funcționează sau depășește, fie că este scris pur și simplu analfabet.

Primul lucru pe care nu ar trebui să-l faceți în aceste exemple este să utilizați System.Web.Mail, care a fost demodat de mult timp și de la Visual Studio 2010, biblioteca System.Web nici măcar nu a fost adăugată fără a cunoaște calea completă către DLL.
În schimb, se sugerează utilizarea bibliotecii System.Net.
folosind System.Net; folosind System.Net.Mail;
Deci, cel mai simplu, este cel mai important și cel mai des folosit - este să trimiteți o scrisoare de pe serverul dvs. de e-mail, care este configurat cu un client SMTP. După cum ați înțeles, serverul poate fi fie cel pe care rulează aplicația, fie unul la distanță, pe care aveți dreptul de a trimite scrisori fără autorizație suplimentară.

Exemplu de cod pentru trimiterea unei scrisori de la o mașină locală:
", "[e-mail protejat]")) (mm.Subject =" Mail Subject "; mm.Body =" Mail Corp "; mm.IsBodyHtml = false; using (SmtpClient sc = new SmtpClient (" 127.0.0.1 ")) (// Adresa ar trebui să fie aici serverul de poștă și portul dacă este necesar sc.Send (mm);))

Utilizarea serviciilor de e-mail precum Gmail, Yandex, Mail.ru etc. totul este la fel, se adaugă numai parametrii cu autorizație.

Server SMTP: smtp.gmail.com
Port: 587
folosind (MailMessage mm = new MailMessage ("Nume ", "[e-mail protejat]")) (mm.Subject =" Subiectul poștei "; mm.Body =" Corpul poștei "; mm.IsBodyHtml = fals; folosind (SmtpClient sc = nou SmtpClient (" smtp.gmail.com ", 587)) (sc. EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential (" [e-mail protejat]"," GmailPassword "); sc.Send (mm);))

Server SMTP: smtp.yandex.ru
Port: 25
folosind (MailMessage mm = new MailMessage ("Nume ", "[e-mail protejat]")) (mm.Subject =" Subiectul poștei "; mm.Body =" Corpul poștei "; mm.IsBodyHtml = fals; folosind (SmtpClient sc = nou SmtpClient (" smtp.yandex.ru ", 25)) (sc. EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential (" [e-mail protejat]"," YandexPassword "); sc.Send (mm);))

Server SMTP: smtp.mail.ru
Port: 25
folosind (MailMessage mm = new MailMessage ("Nume ", "[e-mail protejat]")) (mm.Subject =" Subiectul poștei "; mm.Body =" Corpul poștei "; mm.IsBodyHtml = fals; folosind (SmtpClient sc = nou SmtpClient (" smtp.mail.ru ", 25)) (sc. EnableSsl = true; sc.DeliveryMethod = SmtpDeliveryMethod.Network; sc.UseDefaultCredentials = false; sc.Credentials = new NetworkCredential (" [e-mail protejat]"," MailRuPassword "); sc.Send (mm);))
Dacă cutia poștală din serviciul mail.ru se termină cu inbox.ru, list.ru sau bk.ru, atunci adresa serverului SMTP se modifică în consecință (smtp.inbox.ru, smtp.list.ru și smtp.bk.ru ).

După cum puteți vedea, pentru a utiliza orice alt serviciu de e-mail în programele dvs., trebuie doar să aflați adresa și portul serverului SMTP, precum și regulile de autorizare.

De asemenea, trebuie amintit faptul că aproape toate serviciile de e-mail ale unor terțe părți impun limite numărului de e-mailuri trimise într-o perioadă de timp.

Etichete: e-mail, trimiterea de e-mailuri, smtp