Cea mai simplă formă de trimitere a datelor către poștă utilizând HTML și PHP. Lucrul cu e-mail Trimiterea datelor pe Mail C

Buna ziua. De când grapomania mă progresează, am decis să adaug un alt articol. Articolul va, ca întotdeauna, cu exemple pe C #, dar mai mult sau mai puțin calificat VB "Shnik cu ușurință va rescrie tot codul sub VB.net.

Să începem, poate

Pentru trimite email Trebuie să folosim trei obiecte. Sistem.net.mail.smtpClient pentru a trimite un mesaj, sistem.net.mail.mailMessage pentru a vizualiza mesajul și sistemul.net.netWorkCredențial pentru autorizare.

Creați un client:

Var Client \u003d nou SMTPClient ("$ mail-adresa de server $", $ mail-server-port $);

Referința designerului:

SmtpClient (gazdă de șir, port);

Creați o instanță a clasei MailMessage:

Var msg \u003d noul mesaj de poștă electronică ("de la", "la");

Acum, să cerem subiectul și conținutul scrisorii (apropo, totul poate fi întrebat în designer). Precum și un client de conectare și parolă SMTP. Apoi trimiteți o scrisoare prin metoda de trimitere a clientului nostru de obiecte:

Var Client \u003d nou SMTPClient ("smtp.yandex.ru"); var msg \u003d noul mesaj de poștă electronică ("de la", "la"); msg.subject \u003d "Mesajul meu de testare"; Msg.body \u003d "Bună ziua, prietene! Imaginați-vă că tocmai am scris un program incredibil pentru a trimite această scrisoare fără sens la dvs. de un miliard de ori numai cu mai multe clicuri!"; msg.subjectencoded \u003d codificare.utf8; msg.bodyencooding \u003d codificare.utf8; // prioritate msg.prioritate \u003d mailpiority.high; // Corp de scriere în HTML? msg.isbytml \u003d FALSE; Client.credențials \u003d Noua rețeaRredențială ("Login", "Parolă"); Client.send (MSG);

Asta e tot. Nu uitați să specificați corect toate datele necesare.


Comentarii ()

ruslarg02 30.

Coolhacker, puteți obține acest cod pentru 3 părți ale browserului web?

Coolhacker 770. ruslarg02 30.

Mulțumesc, o voi folosi pentru a trimite link-uri prin e-mail
Ca și în Firefox.

Lesevi 10.

Trimiterea mesajelor de poștă electronică în Studio vizual. 2013 C ++.


Ar părea de ce să reinventăm bicicleta? Există multe programe care pot trimite scrisori de e-mail: atât plătite cât și gratuite. În aceste programe, puteți trimite scrisori nu unul, dar imediat la mulți destinatari. Cu toate acestea, adăugarea în continuare a destinatarilor apare manual, adresele acestora pentru a conduce în mod reciproc, mai ales dacă nu sunt o duzină. Și dacă trebuie să trimiteți în mod regulat sute de scrisori? Și nu vorbesc despre spam, dar vreau să spun buletine de știri legale complet?

În acest caz, poate veni la salvare program special. Acest articol nu va fi un astfel de program întreg și va exista un mic program care trimite pur și simplu o scrisoare la o singură adresă. În același timp, se produce o autorizație SNMP, adică scrisoarea este trimisă de la ea necunoscută de unde, dar cu o cutie poștală complet reală. În exemplu, poșta poștală este utilizată.

Deci, aici este textul programului.

#include "stdafx.h" #un Utilizarea sistemului de spațiu de nume; Utilizarea sistemului de nume de nume :: Net; Utilizarea sistemului de nume de nume :: Net :: Mail; Utilizarea sistemului de nume de nume :: Net :: MIME; Utilizarea sistemului de nume de nume :: filetare; Folosind sistemul de spațiu de nume :: componentaModel; Int principal () (smtpclient ^ smtp \u003d gcnew smtpclient ("smtp.mail.ru", 25); SMTP-\u003e acreditări \u003d gcwnwtnwtCredential ("[email protected]", "your_pall"); SMTP-\u003e Enablessl \u003d Adevărat ; MailMessage ^ Mesaj \u003d GCNew MailMessage (); Mesaj-\u003e De la \u003d GCNew MailAddress ("[email protected]"); Mesaj-\u003e To-\u003e Adăugare (GCNew MailAddress ("[email protected]")); mesaj- \u003e Subiect \u003d "Titlu"; Mesaj-\u003e Body \u003d "Mesaj"; SMTP-\u003e Trimiterea (mesajul);) Este necesar să efectuați imediat o rezervare, ce condiții trebuie îndeplinite: proiectul în Visual Studio 2013 este creat nu numai Pentru C ++, trebuie să fie consola, suport CLR-miercuri. Să luăm în detaliu ceea ce se întâmplă în ce linie în acest program C ++, care se referă la mesajul cu caseta de e-mail selectată.

De la prima la liniile a 8-a, fișierele antetului și spațiile de nume sunt conectate. 13 Șirul inițializează serverul de SPM. Pentru Yandex și Google folosesc propriile lor: smtp.yandex.ru și smtp.google.ru, respectiv. Numărul 25 Această linie este un port. În cazul în care furnizorul dvs. blochează acest port sau nu reușește să se conecteze, puteți încerca astfel de opțiuni 465 sau 587. În linia 14, trebuie să introduceți caseta de e-mail (din care va merge litera) și parola din această casetă.

Plătiți o atenție deosebită la 15 șir - acest protocol securizat SSL este conectat. Acest lucru este obligatoriu necesar pentru Yandex și Mile. 17 rândul creează un mesaj; în 18 - adresa de retur; în 19 - adresa destinatarului; 20 de litere; 21 - Mesaj; În 22 rând, trimiterea. Dacă după începerea programului nu apare nicio eroare, nu se întâmplă nimic, atunci totul este bine - verificați cutia destinatarului.

Dacă aveți cel puțin câteva abilități de programare mici, restul va fi complet simplu. Trebuie să creați o fereastră, formă, sub formă de mai multe câmpuri de introducere, pentru a forța programul să încarce lista de adrese de la, de exemplu, un fișier text sau o bază de date MS Access. Dacă acest lucru nu este complet clar pentru dvs., atunci în următoarele articole vă voi spune despre tot.

Orice întrebări despre programele C ++, Java, script-ul Java și scripturile PHP, crearea și aspectul site-ului, puteți seta prin poștă [E-mail protejat] Sau bate pe skype up777up2. Pentru o taxă foarte moderată, vă voi ajuta cu plăcere.

Plus

Unul dintre vizitatorii blogului a pus o întrebare: Cum să atașați fișierul în acest program? Răspunsul este simplu: trebuie să adăugați mai multe linii de cod la aplicație:

Șir ^ att \u003d l "att.xls"; Atasament ^ dan \u003d GCNew atașament (ATT, MediaTyPenAmes :: Aplicație :: OCTET); Mesaj-\u003e Atașamente-\u003e Adăugați (DAN); În prima linie, definim fișierul atașat, în cea de-a doua determină datele și comandarea de a nu le interpretam (antetul de tip conținut al protocolului MIME) și în al treilea - adăugați-l la literă. Asta e tot.

Dl Olympia. 14 octombrie 2013 la 19:29

Software-ul de e-mail trimiterea utilizării diverse servicii

  • .NET,

Foarte des trebuie să vină peste transport maritim e-mail Din codul programului. Pentru exemple, nu este necesar să mergem departe.

Acest articol este prompt și nu deschide nimic nou, dar înainte de a scrie, m-am uitat la o persoană similară pe internet și am fost destul de surprinsă că este aproape oriunde este oferită sau nu funcționează sau o soluție învechită sau pur și simplu scrisă în mod analverat .

Primul lucru care nu trebuie făcut în aceste exemple este de a utiliza sistemul.Web.mail, care a fost mult timp depășit și începând cu Visual Studio 2010 Biblioteca System.Web chiar nu se adaugă, fără să știe calea completă la cele corespunzătoare DLL.
În schimb, se propune utilizarea bibliotecii sistem.net.
Folosind sistemul.net; Folosind sistemul.net.mail;
Deci, cel mai simplu, este cel mai important și adesea folosit - trimite o scrisoare de la propria sa mail Server.unde clientul SMTP este configurat. După cum înțelegeți, serverul poate fi atât cel pe care aplicația funcționează și la telecomandă, unde aveți dreptul de a trimite scrisori fără autorizație suplimentară.

Codul eșantionului pentru trimiterea unei scrisori de la o mașină locală:
", "[E-mail protejat]") (MM.SUBJECT \u003d" Subiect de e-mail "; mm.body \u003d" corpul poștal "; mm.isbyhtml \u003d false; folosind (smtpClient sc \u003d nou smtpclient (" 127.0.0.1 ")) (// aici ar trebui să fie Adresa serverului de poștă electronică și portului, dacă este necesar, SC.SEND (mm);))

Folosind. servicii poștale, cum ar fi gmail, yandex, mail.ru, etc. La fel, se adaugă doar parametrii cu autorizație.

Server SMTP: smtp.gmail.com
Port: 587.
Folosind (MailMessage MM \u003d Noua MailMessage ("Nume ", "[E-mail protejat]") (mm.subject \u003d" subiect de poștă "; mm.body \u003d" corpul poștal "; mm.isbytml \u003d false; folosind (smtpclient sc \u003d nou smtpclient (" smtp.gmail.com ", 587)) (SC. Enablessl \u003d Adevărat; SC.DeliveryMethod \u003d smtpdeliverymethod.network; SC.USEDefAultCredentials \u003d False; SC.Rreducents \u003d New NetworkCredentials \u003d New NetworkCredențial [E-mail protejat]"," Gmailpassword "); SC.Send (mm);))

Server SMTP: smtp.yandex.ru
Port: 25.
Folosind (MailMessage MM \u003d Noua MailMessage ("Nume ", "[E-mail protejat]") (MM.Subject \u003d" Subiect de e-mail "; mm.body \u003d" corpul poștal "; mm.isbyhtml \u003d false; folosind (smtpclient sc \u003d nou smtpclient (" smtp.yandex.ru ", 25)) (sc. Enablessl \u003d Adevărat; SC.Deliverymethod \u003d smtpdeliverymethod.network; SC.USEDefAultCredentials \u003d Fals; SC.Creducents \u003d New NetworterCredential (" [E-mail protejat]"," Yandexpassword "); SC.Send (mm);))

Server SMTP: smtp.mail.ru
Port: 25.
Folosind (MailMessage MM \u003d Noua MailMessage ("Nume ", "[E-mail protejat]") (MM.SUBJECT \u003d" Subiectul de poștă "; mm.body \u003d" corpul poștal "; mm.isbyhtml \u003d false; folosind (smtpclient sc \u003d nou smtpclient (" smtp.mail.ru ", 25)) (sc. Enablessl \u003d Adevărat; SC.Deliverymethod \u003d smtpdeliverymethod.network; SC.USEDefAultCredentials \u003d Fals; SC.Creducents \u003d New NetworterCredential (" [E-mail protejat]"," Mailrupassword "); SC.Send (mm);))
Daca ai cutie poștală Serviciul Mail.ru se termină pe inbox.ru, list.ru sau bk.ru, apoi adresa serverului SMTP se schimbă în consecință (smtp.inbox.ru, smtp.list.ru și smtp.bk.ru).

După cum puteți vedea, pentru a utiliza orice alt serviciu de poștă electronică în programele dvs., trebuie doar să aflați adresa serverului și portului SMTP, precum și regulile de autorizare.

De asemenea, este necesar să ne amintim că aproape toate terțe părți servicii de poștă electronică impune limite prin numărul de scrisori trimise în perioada de timp.

Tag-uri: e-mail, trimiterea de scrisori, SMTP

Foarte adesea trebuie să se ocupe de trimiterea de e-mailuri din codul programului. Pentru exemple, nu este necesar să mergem departe.

Acest articol este prompt și nu deschide nimic nou, dar înainte de a scrie, m-am uitat la o persoană similară pe internet și am fost destul de surprinsă că este aproape oriunde este oferită sau nu funcționează sau o soluție învechită sau pur și simplu scrisă în mod analverat .

Primul lucru care nu trebuie făcut în aceste exemple este de a utiliza sistemul.Web.mail, care a fost mult timp depășit și începând cu Visual Studio 2010 Biblioteca System.Web chiar nu se adaugă, fără să știe calea completă la cele corespunzătoare DLL.
În schimb, se propune utilizarea bibliotecii sistem.net.
Folosind sistemul.net; Folosind sistemul.net.mail;
Deci, cel mai simplu, este cel mai important și adesea folosit - aceasta trimite o scrisoare de la serverul dvs. de poștă electronică pe care este configurat clientul SMTP. După cum înțelegeți, serverul poate fi atât cel pe care aplicația funcționează și la telecomandă, unde aveți dreptul de a trimite scrisori fără autorizație suplimentară.

Codul eșantionului pentru trimiterea unei scrisori de la o mașină locală:
", "[E-mail protejat]") (MM.SUBJECT \u003d" Subiect de e-mail "; mm.body \u003d" corpul poștal "; mm.isbyhtml \u003d false; folosind (smtpClient sc \u003d nou smtpclient (" 127.0.0.1 ")) (// aici ar trebui să fie Adresa serverului de poștă electronică și portului, dacă este necesar, SC.SEND (mm);))

Utilizarea serviciilor poștale, cum ar fi Gmail, Yandex, Mail.ru, etc. La fel, se adaugă doar parametrii cu autorizație.

Server SMTP: smtp.gmail.com
Port: 587.
Folosind (MailMessage MM \u003d Noua MailMessage ("Nume ", "[E-mail protejat]") (mm.subject \u003d" subiect de poștă "; mm.body \u003d" corpul poștal "; mm.isbytml \u003d false; folosind (smtpclient sc \u003d nou smtpclient (" smtp.gmail.com ", 587)) (SC. Enablessl \u003d Adevărat; SC.DeliveryMethod \u003d smtpdeliverymethod.network; SC.USEDefAultCredentials \u003d False; SC.Rreducents \u003d New NetworkCredentials \u003d New NetworkCredențial [E-mail protejat]"," Gmailpassword "); SC.Send (mm);))

Server SMTP: smtp.yandex.ru
Port: 25.
Folosind (MailMessage MM \u003d Noua MailMessage ("Nume ", "[E-mail protejat]") (MM.Subject \u003d" Subiect de e-mail "; mm.body \u003d" corpul poștal "; mm.isbyhtml \u003d false; folosind (smtpclient sc \u003d nou smtpclient (" smtp.yandex.ru ", 25)) (sc. Enablessl \u003d Adevărat; SC.Deliverymethod \u003d smtpdeliverymethod.network; SC.USEDefAultCredentials \u003d Fals; SC.Creducents \u003d New NetworterCredential (" [E-mail protejat]"," Yandexpassword "); SC.Send (mm);))

Server SMTP: smtp.mail.ru
Port: 25.
Folosind (MailMessage MM \u003d Noua MailMessage ("Nume ", "[E-mail protejat]") (MM.SUBJECT \u003d" Subiectul de poștă "; mm.body \u003d" corpul poștal "; mm.isbyhtml \u003d false; folosind (smtpclient sc \u003d nou smtpclient (" smtp.mail.ru ", 25)) (sc. Enablessl \u003d Adevărat; SC.Deliverymethod \u003d smtpdeliverymethod.network; SC.USEDefAultCredentials \u003d Fals; SC.Creducents \u003d New NetworterCredential (" [E-mail protejat]"," Mailrupassword "); SC.Send (mm);))
Dacă aveți o cutie poștală pe serviciul Mail.ru se termină pe inbox.ru, list.ru sau bk.ru, atunci adresa serverului SMTP se schimbă în consecință (smtp.inbox.ru, smtp.list.ru și smtp.bk .ru).

După cum puteți vedea, pentru a utiliza orice alt serviciu de poștă electronică în programele dvs., trebuie doar să aflați adresa serverului și portului SMTP, precum și regulile de autorizare.

De asemenea, este necesar să ne amintim că aproape toate serviciile de poștă electronică terță parte impune limite prin numărul de scrisori trimise în perioada de timp.

Tag-uri: e-mail, trimiterea de scrisori, SMTP

Ultima actualizare: 10/31/2015

Protocolul simplu de transfer de mail (simplu protocol de transfer poștal) este utilizat pentru a trimite poștă. Acest protocol indică modul în care serverele de poștă electronică interacționează atunci când trimiteți e-mailuri.

Pentru a lucra cu protocolul SMTP și trimiterea prin e-mail, clasa SMTPClient este proiectată din spațiul de nume System.Net.mail.

Această clasă determină gama de proprietăți care vă permit să configurați trimiterea:

    Gazdă: Server SMTP din care este trimis poșta. De exemplu, smtp.yandex.ru.

    Port: Portul utilizat de serverul SMP. Dacă nu sunt specificate, atunci se utilizează 25 de porturi implicite.

    Acreditări: datele de autentificare ale expeditorilor

    Enablessl: indică dacă protocolul SSL va fi utilizat la trimitere

O altă clasă cheie care este utilizată la trimitere este MailMessage. Această clasă este un mesaj trimis. Printre proprietățile sale, se pot distinge următoarele:

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

    Corp: Text cu litere directe

    De la adresa expeditorului. Reprezintă Mailaddress.

    La adresa destinatarului. Reprezintă, de asemenea, obiectul maladdress

    Subiect: Stabilește subiectul scrisorii

    ISBODYTML: Indică dacă litera submimează cu codul HTML

Folosim aceste clase și executăm trimiterea scrisorii:

Folosind sistemul; Folosind sistemul.net; Folosind sistemul.io; folosind sistemul.Threading.tasks; Folosind sistemul.net.mail; NameSpace NetConSoleApp (String Args) (// expeditor - Instalați adresa și afișată în numele literei MAILADDRESS de la \u003d New MailAddress (" [E-mail protejat]"," Tom "); // Cine trimite Mailaddress la \u003d nou Mailaddress (" [E-mail protejat]");

Testul de lucru al clientului SMTP

"; // scrisoare reprezintă codul HTML. M.isbyhtml \u003d adevărat; // adresa serverului SMTP și a portului din care trimitem o scrisoare către smtpclient smtp \u003d nou smtpclient ("smtp.gmail.com", 587); // Login și parolă SMTP.CREDENDENTIALS \u003d NEW NETWORDRENTIAL (" [E-mail protejat]"," mypassword "); smtp.enablessl \u003d true; smtp.send (m); consola.read ();)))

Pentru a trimite, metoda Trimitere () este utilizată la care este transmis obiectul MailMessage.

De asemenea, putem folosi versiunea asincronă a expedierii utilizând metoda Sendmailync:

Folosind sistemul; Folosind sistemul.net; Folosind sistemul.io; folosind sistemul.Threading.tasks; Folosind sistemul.net.mail; NameSpace NetConSoleApp (String Args) (SendEmailync (). Getawaiter (); consola.read ();) Tasura privată statică async SendEmailync () (Maladdress de la \u003d New MailAddress (" [E-mail protejat]"," Tom "); Maladdress to \u003d nou Mailaddress (" [E-mail protejat]"); MailMessage M \u003d noul mesaj de poștă electronică (de la, la); M.Subject \u003d" Test "; M.body \u003d" Testul scrisului 2 al clientului SMTP "; SMTPClient SMTP \u003d nou SMTPClient (" smtp.gmail.com ", 587); smtp.credențials \u003d Noua rețeaRredențială (" [E-mail protejat]"," Mypassword "); smtp.enablessl \u003d true; Asteapta smtp.sendmailync (m); console.writeline (" scrisoarea trimis ");))

Adăugarea atașamentelor

La scrisoare, putem atașa atașamente folosind proprietatea atașamentelor. Fiecare atașament reprezintă un obiect sistem.net.mail.atachment:

Maladdress de la \u003d New Mailaddress (" [E-mail protejat]"," Tom "); Maladdress to \u003d nou Mailaddress (" [E-mail protejat]"); MailMessage M \u003d noul mesaj de poștă electronică (de la, la); m.Attachments.Add (atașament nou (" d: //temlog.txt "));