Php trimite e-mail prin Yandex smtp. Trimiterea de e-mailuri prin SMTP de pe un server local

Acasă / Instalarea programelor

PHPMailer este o bibliotecă foarte convenabilă și populară pentru trimiterea de e-mail mesaje de pe site-ul dvs. Acest articol descrie setările de bază ale bibliotecii și oferă exemple de cod pentru trimiterea mesajelor. PHPMailer are în sortimentul său poate tot ce ți-ai putea dori de la lucrul cu e-mailul: trimiterea în moduri diferite, prin diferite servere, inclusiv prin smtp, abilitatea de a cripta și semna scrisorile, astfel încât acestea să nu ajungă în spam și multe altele.

Puteți descărca biblioteca PHPMailer de la https://github.com/PHPMailer/PHPMailer (butonul „Clonați sau descărcați”).

În primul rând, mă voi uita la câteva exemple simple pentru a clarifica cum să trimiteți e-mailuri folosind PHPMailer.

Trimiterea de e-mailuri prin funcția mail() folosind PHPMailer

Dacă doriți să trimiteți e-mailuri de la găzduirea dvs. prin intermediul dvs server de mail, atunci totul este destul de simplu și va arăta cam așa:

// Includeți biblioteca PHPMailer, utilizați PHPMailer\PHPMailer\PHPMailer; necesită „PHPMailer/PHPMailer.php”; // Creați o scrisoare $mail = new PHPMailer(); $mail->setFrom(" [email protected]", "Ivan Ivanov"); // de la care (e-mail și nume) $mail->addAddress(" [email protected]", "Vasya Petrov"); // cui (e-mail și nume) $mail->Subject = "Test"; // subiectul scrisorii // text html litere $mail->msgHTML("

Buna ziua!

Aceasta este o scrisoare de testare.

"); // Trimite dacă ($mail->send()) ( echo "Mesaj trimis!"; ) else ( echo "Eroare: " . $mail->ErrorInfo; )

După cum puteți vedea, totul este destul de simplu: conectăm biblioteca, completăm de la cine, cui, subiectul și textul scrisorii și o trimitem. Trimiterea de e-mailuri în acest fel va funcționa numai de la adresele de e-mail din domeniul dvs. (cu excepția cazului în care acestea sunt legate de alți e-mailuri).

Trimiterea de e-mailuri prin SMTP folosind PHPMailer folosind exemplul Yandex și Google

De asemenea, puteți trimite o scrisoare printr-un alt expeditor, de exemplu, prin Yandex. Codul va arăta cam așa:

// Includeți biblioteca PHPMailer, utilizați PHPMailer\PHPMailer\PHPMailer; utilizați PHPMailer\PHPMailer\SMTP; necesită „PHPMailer/PHPMailer.php”; necesită „PHPMailer/SMTP.php”; // Creați o scrisoare $mail = new PHPMailer(); $mail->isSMTP(); // Trimitere prin SMTP $mail->Host = "smtp.yandex.ru"; // Adresa serverului SMTP $mail->SMTPAuth = true; // Activează autentificarea SMTP $mail->Username = "login"; // numele tau de utilizator (fara domeniu si @) $mail->Password = "parola"; // parola dvs. $mail->SMTPSecure = "ssl"; // criptare ssl $mail->Port = 465; // portul de conexiune $mail->setFrom(" [email protected]", "Ivan Ivanov"); // de la care $mail->addAddress(" [email protected]", "Vasya Petrov"); // căruia $mail->Subject = "Test"; $mail->msgHTML("

Buna ziua!

Aceasta este o scrisoare de testare.

"); // Trimite dacă ($mail->send()) ( echo "Mesaj trimis!"; ) else ( echo "Eroare: " . $mail->ErrorInfo; )

Trimiterea de e-mailuri prin Google are o avertizare: trebuie cont google permite accesul la aplicații care nu sunt de încredere. Pentru a face acest lucru, trebuie să vă conectați la contul dvs. https://myaccount.google.com, să mergeți la securitate, să accesați secțiunea „Aplicații neîncrezătoare care au acces la contul dvs.” și să comutați la „Permis” acolo. La momentul scrierii, această pagină este https://myaccount.google.com/u/0/lesssecureapps.

$mail->Host = "smtp.gmail.com"; // Adresa serverului SMTP $mail->SMTPAuth = true; // Activează autentificarea SMTP $mail->Username = "login"; // numele dvs. de utilizator $mail->Password = "parola"; // parola dvs. $mail->SMTPSecure = "ssl"; // criptare ssl $mail->Port = 465; // port de conectare

Dacă rulați programul pentru trimiterea prin smtp pentru prima dată, atunci este recomandabil să utilizați suplimentar înainte de a trimite $mail->SMTPDebug = 1; pentru a primi toate mesajele de la client și serverul smtp, de ex. Pe ecran va fi afișat întregul proces de conectare, autorizare etc., ceea ce este foarte util pentru depanarea programului dumneavoastră.

Trimiterea unui e-mail cu un atașament folosind PHPMailer

Totul este destul de simplu aici, trebuie doar să folosești metoda adaugă atașament. Voi da un exemplu și, în același timp, voi demonstra încă câteva caracteristici suplimentare:

// Includeți biblioteca PHPMailer, utilizați PHPMailer\PHPMailer\PHPMailer; utilizați PHPMailer\PHPMailer\Exception; necesită „PHPMailer/PHPMailer.php”; necesită „PHPMailer/Exception.php”; // Creați o scrisoare $mail = PHPMailer nou; $mail->CharSet = "UTF-8"; $mail->setFrom(" [email protected]", "Ivan Ivanov"); // de la care $mail->addReplyTo(" [email protected]", "Ivan Ivanov"); // adresa de returnare $mail->addAddress(" [email protected]", "Vasya Petrov"); // căruia $mail->Subject = "Test"; // subiect $mail->msgHTML(file_get_contents("contents.html"), __DIR__); // obține "corpul" a scrisorii din fișierul $mail->AltBody = "Scrisoare text simplu" // scrisoarea text simplu dacă clientul nu acceptă html $mail->addAttachment("my_file.txt" // atașează un fișier $mail-); >addAttachment("phpmailer) .jpg" // atașați al doilea fișier // Trimiteți if ($mail->send()) ( echo „Mesaj trimis!”; ) else ( echo „Eroare: „ . $mail- >ErorInfo )

Puteți adăuga mai multe adrese de destinatari utilizând addAddress. Sau, dacă este necesar, puteți, dimpotrivă, să ștergeți toate adresele destinatarilor folosind metoda clearAddresses(). Puteți șterge toate atașamentele folosind clearAttachments().

De asemenea, puteți utiliza AdaugăImagine încorporată pentru a adăuga un atașament (de obicei o imagine) la e-mail, care este destinat să fie folosit în cod html și nu va fi disponibil pentru descărcare. Un exemplu de utilizare a unei imagini într-o scrisoare care nu este disponibilă pentru descărcare:

// Includeți biblioteca PHPMailer, utilizați PHPMailer\PHPMailer\PHPMailer; necesită „PHPMailer/PHPMailer.php”; //Creează o scrisoare $mail = PHPMailer nou; $mail->IsHTML(true); $mail->setFrom(" [email protected]", "Ivan Ivanov"); $mail->addAddress(" [email protected]", "Vasya Petrov"); $mail->Subject = "Test"; $mail->AddEmbeddedImage("phpmailer.jpg","testImage"); $mail->Body = "

Imagine în cod html

"; // Trimite $mail->trimite();

Deci poți trimite scrisori cu imagini, care sunt doar în corpul scrisorii, dar nu pot fi descărcate ca atașament. Aceste imagini pot fi folosite oriunde în codul html al scrisorii, trebuie doar să specificați cidul imaginii pe care l-ați folosit în AddEmbeddedImage în loc de adresa URL.

Trimiterea de e-mailuri semnate și criptate prin PHPMailer

În mod implicit, PHPMailer criptează toate mesajele trimise. Puteți dezactiva criptarea e-mailurilor numai atunci când trimiteți e-mailuri prin SMTP folosind codul:

$mail->SMTPSecure = false; $mail->SMTPAutoTLS = false;

La semnați scrisoarea cu semnătura DKIM, trebuie să efectuați mai mulți pași:

  • Generați chei private și publice pentru domeniul dvs
  • Adăugați o înregistrare DNS pentru un domeniu TXT cu o cheie publică
  • Configurați semnătura DKIM în PHPMailer înainte de a trimite un e-mail

Acum voi descrie fiecare pas mai detaliat.

Generarea de chei publice și private

Dacă aveți găzduire Linux și aveți acces la Shell, atunci generarea fișierelor cheie este la fel de ușoară ca și decojirea perelor, trebuie să rulați doar 2 comenzi cu drepturile dvs. normale de utilizator:

Openssl genrsa -out test-private.pem 1024 openssl rsa -in test-private.pem -out test-public.pem -pubout

Respectiv, test-privat.pemŞi test-public.pem- acestea sunt chei private și publice. Trebuie să le salvați într-un folder care nu va fi accesibil vizitatorilor site-ului sau oricui altcineva, cu excepția dvs.

Dacă nu este posibil să executați comenzi în shell, atunci pentru a genera chei private și publice și a le salva în fișiere, puteți utiliza următorul cod:

$domain = "test.ru"; // domeniul dvs. $privatekeyfile = "test-private.pem"; // numele fișierului în care va fi scrisă cheia privată $publickeyfile = "test-public.pem"; // numele fișierului în care va fi scrisă cheia publică dacă (file_exists($privatekeyfile)) ( echo "

Utilizarea cheilor existente

"; $privatekey = file_get_contents($privatekeyfile); $publickey = file_get_contents($publickeyfile); ) else ( echo "

Creați chei"; $pk = openssl_pkey_new([ "digest_alg" => "sha256", "private_key_bits" => 2048, "private_key_type" => OPENSSL_KEYTYPE_RSA, ]); openssl_pkey_export_to_file($pk, $spubltaileypkey_de_fișier($spubltaileypkey_de_deschide); ); $publickey = $pubKey["key"]; file_put_contents($publickeyfile, $publickey = file_get_contents);

Cheie privată (păstrați aceasta privată!):

" . $privatekey ."
"; ecou"

Cheie publică:

" . $publickey ."
";

Atenţie! Nu uitați să vă asigurați că folderul în care vor fi salvate fișierele poate fi scris.

Adăugarea unei înregistrări DNS cu o cheie publică

Este necesară o înregistrare DNS pentru ca serverele de e-mail care vor primi scrisorile dumneavoastră să poată verifica semnătura scrisorii citind înregistrarea DNS a domeniului dumneavoastră. De obicei, puteți adăuga o înregistrare DNS în panoul de control al domeniului sau în panoul de control al găzduirii. Dacă nu știți cum să adăugați o intrare, contactați asistența furnizorului dvs. de găzduire.

Trebuie să adăugați o înregistrare DNS ca aceasta:

Nume intrare: mail._domainkey.test.ru. (la sfârșit există un punct ".")

TTL: 3600 (sau oricare va fi implicit)

Tip post: TXT

Sens: v=DKIM1; h=sha256; t=s; p=CHEIA_PUBLICĂ_VOASTRĂ

În numele intrării test.ru trebuie înlocuit cu numele dvs. de domeniu. Înlocuiți cuvintele „YOUR_PUBLIC_KEY” cu textul pe care l-ați primit la pasul anterior după „Public Key”, fără „-----BEGIN PUBLIC KEY-----” și „-----END PUBLIC KEY- -- --", doar cheia în sine. În acest caz, sunt necesare toate liniile cheii se concatenează într-o singură linie lungă astfel încât să nu existe întreruperi de linie.

Configurarea semnăturii DKIM în PHPMailer și trimiterea unui e-mail

Acum nu mai rămâne decât să faceți câteva setări PHPMailer înainte de a trimite scrisoarea și aceasta va fi semnată. Cred că următorul exemplu va clarifica totul:

// Includeți biblioteca folosiți PHPMailer\PHPMailer\PHPMailer; necesită „PHPMailer/PHPMailer.php”; // Creați o scrisoare $mail = PHPMailer nou; $mail->CharSet = "UTF-8"; $mail->setFrom(" [email protected]"); $mail->addAddress(" [email protected]"); $mail->Subject = "Acesta este un test"; $mail->msgHTML("

Acesta este un test

"); // Configurarea unei semnături DKIM $mail->DKIM_domain = "test.ru"; $mail->DKIM_private = "test-private.pem"; $mail->DKIM_selector = "mail"; // Trimite $ mail- >trimite();

Desigur test.ru ar trebui să vă schimbați numele de domeniu și test-privat.pem la calea completă și numele fișierului cheie privată care a fost creat în etapa de generare a cheii.

Acum, e-mailurile tale trimise prin PHPMailer vor fi semnate DKIM cu cheia ta privată.

Pentru ca un anumit site web să aibă posibilitatea de a funcționa eficient și productiv, crearea lui trebuie abordată cât mai responsabil și cu atenție. Alegerea sistemului care va fi folosit pentru crearea unui magazin online merită o atenție deosebită. Cert este că o platformă comercială specializată în vânzarea de bunuri sau servicii trebuie să permită implementarea tuturor funcționalităților necesare și să fie ușor de utilizat, atât pentru administratorii implicați în întreținerea și completarea site-urilor, cât și pentru clienții magazinelor online. Mulți oameni și companii care se confruntă cu întrebarea de a alege un CMS potrivit pentru ei înșiși analizează dacă să aleagă Magento sau OkayCMS. Să comparăm caracteristicile și capacitățile acestor motoare de site-uri web.

Când lucrați pe propriul site web, o persoană sau o companie va trebui să depună mult efort - numai în acest caz puteți conta pe rezultate pozitiveși obținerea unui instrument cu adevărat eficient. Una dintre întrebările fundamentale care trebuie rezolvate chiar înainte de a începe crearea unui site web va fi cum să decideți asupra celei mai potrivite opțiuni CMS. În continuare, vom compara două CMS: Joomla sau OkayCMS și vom acorda atenție caracteristicilor fiecăruia dintre ele.

A avea propriul site web este una dintre cerințele fundamentale pentru o afacere eficientă și cu succes. Statisticile indică în mod clar o creștere a numărului de achiziții de diverse bunuri și comenzi de servicii prin internet. Ținând cont de acest lucru, majoritatea companiilor comerciale sunt deja conștiente de necesitatea de a avea propriul site web. Cu toate acestea, simplul fapt de a avea o resursă de internet nu este suficient pentru a conta pe eficacitatea, profitabilitatea și beneficiile de afaceri așteptate.

Când vă pregătiți să vă creați propriul site web sau să deschideți un magazin online, trebuie să luați în considerare și să analizați multe probleme, precum și să rezolvați diverse probleme. Doar in acest caz te poti baza pe faptul ca proiectul tau va aduce rezultate pozitive si va putea sa iti satisfaca pe deplin asteptarile. Dintre diversele probleme legate de dezvoltarea unui magazin online, problema alegerii unui CMS merită o atenție deosebită. Pentru a vă fi mai ușor să decideți asupra motorului optim pentru dvs., în interior

Atunci când plănuiesc să-și creeze propriul site web pentru un viitor magazin online, un număr destul de mare de oameni și chiar companii specializate în vânzări se confruntă cu o alegere dificilă și extrem de importantă: care dintre CMS-urile existente să aleagă. Dacă vă gândiți ce să alegeți: PrestaShop sau OkayCMS, vă sugerăm să citiți acest articol, în care vom compara aceste două sisteme de creare de site-uri de internet, în special, magazine online.

2019-08-05

Bună, dragă vizitatoare!

Vă rog să mă iertați pentru întârzierea actualizării blogului. Dar există o explicație complet de înțeles pentru asta. La urma urmei, a fost vara, dacha, oaspeți, pădure, apă și multe altele, ceea ce nu mi-a permis să abordez problemele creării unui site web. Dar acum m-am eliberat puțin, oaspeții au plecat și cred că acum voi putea să acord cu siguranță atenția cuvenită acestui lucru.

Așadar, după ce în ultimul articol am conectat mail-ul domeniului nostru la unul dintre serviciile de mail, acum să vedem cum poți trimite email de pe site. Mai mult, în așa fel încât scrisorile noastre să nu ajungă în SPAM, ci să fie livrate în mod fiabil, cu un grad ridicat de probabilitate, destinatarilor noștri.

În general, există o funcție încorporată mail() pentru trimiterea de scrisori în PHP. Dar trebuie remarcat faptul că, în ciuda simplității acestei metode (în acest caz, pentru a trimite scrisori este suficient să specificați o singură linie de cod cu anumiți parametri), utilizarea acestei opțiuni are un dezavantaj semnificativ asociat cu problema SPAM-ului .

Cert este că filtrele anti-SPAM ale serverelor de e-mail din partea destinatarului nu prea favorizează scrisorile trimise prin funcția mail(). Și în cele mai multe cazuri, astfel de mesaje sunt filtrate sau chiar șterse înainte de a ajunge la destinatar.

Și pentru a elimina cât mai mult posibil astfel de cazuri, se folosește de obicei o altă opțiune, în care scrisorile sunt trimise ca și cum ar fi făcut de un serviciu de poștă terță parte.

Această metodă se numește trimiterea de e-mailuri prin SMTP cu autorizare. Pe care ne vom uita astăzi folosind exemplul de trimitere a unui formular feedback. Mai mult, pentru aceasta vom folosi biblioteca PHPMailer destul de cunoscută și populară, care vă permite să organizați pur și simplu trimiterea de scrisori prin SMTP.

  • Cum vom trimite scrisori de feedback
  • Crearea unui formular de feedback
  • Instalarea bibliotecii PHPMailer
  • Creăm un script pentru trimiterea e-mailurilor prin SMTP
  • Se verifică trimiterea e-mailului
  • Fișiere sursă site-ul

Cum vom trimite scrisori de feedback

Înainte de a începe munca practica După ce trimitem scrisori de feedback, vom decide mai întâi cum o vom face.

Formularul de feedback este conceput pentru a permite utilizatorului să comunice cu administratorul site-ului pentru a-și transmite mesajul. De obicei, acest formular constă din mai multe câmpuri și un buton „Trimite”.

În principiu, pentru a trimite un e-mail este suficient să folosiți doar câteva câmpuri care oferă suficiente informații despre utilizator și conținutul mesajului, cum ar fi:

  • „Nume” - pentru a introduce numele expeditorului mesajului;
  • „E-mail” - pentru adresă e-mail expeditor;
  • „Subiectul mesajului”;
  • „Textul mesajului”.

Deși puteți adăuga altele. De exemplu, un număr de telefon, dacă acest lucru este cu adevărat necesar.

În cazul nostru, astfel de scrisori vor fi trimise la adresa administratorului site-ului dintr-o cutie poștală reală cu autorizare pe serviciul de e-mail la care este conectat domeniul nostru.

Deoarece în articolul anterior ne-am concentrat pe verificarea conexiunii e-mail-ului de domeniu la serviciul Yandex.Mail, vom trimite e-mail pentru această opțiune. Deși acest lucru nu este important. Mai jos veți vedea acele opțiuni care, atunci când sunt modificate, vă vor permite să trimiteți e-mail prin serverul de mail Mail.ru.

Ca o adevărată cutie poștală din care vor fi trimise scrisorile, vom folosi contul unui utilizator de e-mail de domeniu nou creat, să zicem cu adresa [email protected]. Și vom trimite aceste scrisori către cutie poştală administrator [email protected], pe care l-am creat anterior în articolul anterior.

Astfel, expeditorul scrisorii din formularul de feedback va fi cutia poștală [email protected]., iar destinatarul - [email protected]. În acest caz, toate informațiile despre utilizatorul care a trimis mesajul cu conținutul acestuia vor fi transmise în corpul scrisorii trimise.

Crearea unui formular de feedback

După ce ne-am hotărât asupra procedurii de trimitere a scrisorilor, acum vom crea un formular de feedback cu care vom face acest lucru.

Mai jos este codul HTML pentru acest formular, pe care îl vom plasa pe pagina „Contacte” (fișier kontakty.php în directorul articole).

    "articol" >

    Contacte

    Feedback

    "contact" acțiune = "#" metoda = "post" >

    Formular de feedback

    Pentru toate întrebările, solicitările și propunerile de afaceri, ne puteți contacta folosind formularul de feedback de mai jos.

    "bloc de contact" >

    "intrare de contact" >

    "text" id = "nume de contact" nume = "nume de contact" titlu = „Numele trebuie să fie în rusă și să conțină cel puțin 3 caractere” model = "{3,}" necesar >

  1. "contact gol" >

    "intrare de contact" >

    "e-mail" id = "email de contact" nume = "email de contact" necesar >

  2. "subiect de contact" >

  3. "contact-comentare" >

  4. "buton de contact" >

    "trimite" nume = "buton de contact" valoare = "Trimite" >

Fig.1 Codul HTML al formularului de feedback

Puteți vedea cum arată în cele din urmă formularul de feedback afișat aici în următoarea captură de ecran.

Astfel, se creează forma dorită. Și acum puteți trece la problemele procesării și trimiterii datelor sub forma unui mesaj de e-mail.

Instalarea bibliotecii PHPMailer

După cum sa menționat anterior, pentru a trimite e-mailuri vom folosi biblioteca PHPMailer, care va simplifica foarte mult trimiterea de e-mailuri prin Protocolul SMTP cu autorizare pe un serviciu de poștă terță parte.

Pentru a-l instala trebuie să descărcați fisierele necesare. Acest lucru se poate face din serviciul web GitHub folosind Composer (un manager de dependențe de pachete pentru PHP). Sau pur și simplu descărcați fișierele necesare în mod obișnuit.

captura de ecran 73

Mai jos este pagina serviciului web GitHub, unde este marcat linkul către descărcarea obișnuită a bibliotecii PHPMailer.

Pe langa asta, ultima versiune 6.0.7, care a fost salvat la momentul scrierii acestui articol, poate fi descărcat din materialele atașate.

În orice caz, fișierul arhivă rezultat ar trebui să fie despachetat, după care folderul PHPMailer-master extras cu tot conținutul său ar trebui plasat în rădăcina site-ului. În același timp, pentru simplitate, îl puteți redenumi PHPMailer. Mai jos este conținutul folderului PHPMailer plasat în directorul rădăcină al site-ului.

Astfel am instalat biblioteca PHPMailer. După care putem începe să creăm un script cu care vom trimite mesaje de e-mail de pe site-ul nostru.

Creăm un script pentru trimiterea e-mailurilor prin SMTP

Pentru a compune scriptul, este suficient să folosim recomandările de utilizare a PHPMailer date pe pagina GitHub, pe care le-am folosit anterior pentru a descărca biblioteca.

Ele, în special, indică faptul că la începutul scriptului este necesar să importați clase PHPMailer în spațiul de nume global. Și sunt date linii specifice de cod corespunzător. Există, de asemenea, exemple de utilizare a proprietăților și metodelor PHPMailer, inclusiv pentru opțiunea de a trimite e-mail prin SMTP.

Dar dacă acest lucru nu este suficient, atunci puteți utiliza și documentația, care conține o descriere a tuturor proprietăților și metodelor acestei biblioteci.

captura de ecran 74

Mai jos este codul de script pentru trimiterea e-mailurilor din formularul de feedback prin SMTP cu autorizare. Unde toate rândurile legate de PHPMailer sunt date cu explicație și evidențiate cu un fundal deschis.

Restul părții, inclusiv fragmentele legate de primirea și prelucrarea datelor din formular, pe care anterior trebuia să le folosim în alte procesoare, este indicată de un fundal întunecat. Acestea au fost discutate în detaliu mai devreme într-un articol dedicat în mod special problemelor de obținere și verificare a datelor dintr-un formular în PHP. Unde am vorbit și despre funcția de utilizator universală pentru validarea și prelucrarea datelor din formular check_symbol().

Vom plasa acest script în același fișier kontakty.php în care am creat anterior formularul de feedback.

    //----Script pentru trimiterea de mail prin SMTP folosind PHPMailer----

    //Importă clase PHPMailer în spațiul de nume global. Ele ar trebui să fie în partea de sus a scriptului, nu în interiorul funcției

    utilizare PHPMailer\PHPMailer\PHPMailer ;

    utilizare PHPMailer\PHPMailer\Exception ;

    dacă (!gol($_POST["butonul de contact" ])) (

    $nume = $_POST["nume-contact"];

    $nume = simbol_verificare ($nume, "Nume" , "1" , "/^+\z/iu" );

    $email = $_POST["e-mail de contact"];

    $email = check_symbol ($email, „E-mail” , „1” , „/^+@(+\.)+(2,6)\z/i”);

    $subiect = $_POST["subiect-contact"];

    $subiect = simbol_verificare ($subiect, "Subiect mesaj" , "1" , "0" );

    $comment = $_POST["contact-comentar"];

    $comentar = simbol_verificare ($comentar, „Textul mesajului”, "1" , "0" );

    dacă (!gol($GLOBALS[„alerta” ])) (

    $alert = „Datele formularului nu au fost trimise. Au fost găsite următoarele erori:\n”.$alerta;

    include"alert.php";

    altfel {

    //Conectarea bibliotecii

    cere„PHPMailer/src/PHPMailer.php” ;

    cere„PHPMailer/src/Exception.php” ;

    cere„PHPMailer/src/SMTP.php” ;

    $mail = nou PHPMailer(); //Inițializați clasa

    $de la = " [email protected]" ; //Adresa de e-mail de la care este trimisă scrisoarea

    $to = " [email protected]" ; //Adresa destinatarului

    $mail -> isSMTP(); //Utilizați protocolul SMTP

    $mail -> Host = "smtp.yandex.ru" ; //Adresa serverului de mail

    $mail -> SMTPAuth = adevărat ; //Activați modul de autorizare

    $mail -> Nume utilizator = " [email protected]" ; //Conectați-vă de la un e-mail de domeniu conectat la un serviciu de e-mail terță parte (în acest caz, Yandex.Mail)

    $mail -> Parolă = "27MrDon89" ; //Parola pentru e-mailul domeniului

    $mail -> SMTPSecure = "ssl" ; //Protocol de criptare

    $mail -> Port = "465" ; //Port server SMTP

    $mail -> CharSet = "UTF-8" ; //Codificare

    $mail -> setFrom ($de la, „Administrator”); //Adresa și numele expeditorului

    $mail -> addAddress ($to, "Administrator"); //Adresa și numele destinatarului

    $mail -> isHTML ( adevărat ); //Setați formatul de e-mail la HTML

    $mail -> Subiect = „Formular de feedback a fost trimis”; // Subiectul e-mailului (titlu)

    $mail -> Corp = "

    Numele expeditorului: $nume

    Adresa expeditorului: $email

    Subiectul mesajului: $subiect

    Conținutul mesajului: $comentare

    " ; //Conținutul mesajului

    $mail -> AltBody = „Text cu scrisoare alternativă”; //E-mail alternativ dacă clientul de e-mail nu acceptă formatul HTML

    $mail -> SMTPDebug = 0 ; //Activați depanarea SMTP: 0 - oprit (pentru utilizare normală), 1 = mesaje client, 2 - mesaje client și server

    dacă($mail -> trimite()) (

    $alert = „Mesajul trimis”; //Afișează un mesaj în caseta de dialog a browserului despre trimiterea cu succes a scrisorii

    altfel {

    $alert = "Eroare, e-mailul nu poate fi trimis: ".$mail -> ErrorInfo ; //Afișează un mesaj de eroare

    include"alert.php";

Fig.5 Script pentru trimiterea de e-mail prin SMTP cu autorizare

După cum puteți vedea, toate rândurile legate direct de trimiterea unui mesaj de e-mail, în care sunt specificate metodele și proprietățile necesare, sunt însoțite de comentarii. Prin urmare, nu are sens să ne repetăm, dar ne putem opri doar asupra unora dintre ele, care într-adevăr necesită explicații suplimentare, și anume:

1. Datorită faptului că scrisoarea este trimisă de la un serviciu de e-mail terță parte, aici se aplică setările corespunzătoare serverului SMTP specific. În acest caz, pentru cazul de utilizare al serverului Yandex.Mail, se aplică următoarele valori de proprietate:

  • Proprietate Gazdă(poz.28) - Adresa serverului de e-mail cu valoarea smtp.yandex.ru;
  • Proprietate SMTPSecure
  • Proprietate Port

Aceste valori de proprietate au fost preluate de pe pagina Yandex.Help prezentată în următoarea captură de ecran.

Dar astfel de informații pot fi obținute și din alte resurse. Pentru a face acest lucru, trebuie doar să introduceți interogarea corespunzătoare într-un motor de căutare, de exemplu: „Server smtp Yandex”. Unde puteți găsi un număr mare de referințe pe această problemă.

În mod similar, valorile setărilor pot fi obținute de la alte servere SMTP. Mai jos este o captură de ecran a paginii de ajutor Mail.ru, care afișează setările serverului SMTP al serviciului de e-mail Mail.ru.

Și astfel, în cazul utilizării Mail.ru ca server SMTP terță parte, ar trebui aplicate următoarele valori ale proprietăților clasei PHPMailer:

  • Proprietate Gazdă(poz.28) - adresa serverului de mail (smtp.mail.ru);
  • Proprietate SMTPSecure(poz.32) - Protocol de criptare (ssl);
  • Proprietate Port(poz. 33) - Port server SMTP (465).

O abordare similară ar trebui aplicată altor servicii de e-mail.

2. În proprietate Nume de utilizator(poz. 30) este necesar să se indice adresa completă a căsuței poștale de domeniu. În acest caz, " [email protected]".

Cu toate acestea, dacă utilizați un alt cont decât un cont de e-mail de domeniu pentru a trimite scrisori, dar o adresă legată direct de serviciul de corespondență, de exemplu " [email protected]", atunci autentificarea ar trebui să fie doar o parte a adresei până la semnul "@". În acest caz, autentificarea ar avea valoarea "feedback".

3. PHPMailer oferă o proprietate SMTPDebug(poz. 50), care vă permite să afișați diferite niveluri de erori pe ecranul browserului. Această caracteristică simplifică foarte mult găsirea problemelor la depanarea unui script.

De obicei, în modul normal, cu valoarea setată la 0, ieșirea informațiilor detaliate despre eroare este dezactivată. Dar dacă apar probleme cu trimiterea e-mailurilor sau în timpul depanării, este posibil să folosiți alte valori pentru a afișa informații mai semnificative despre eroare.

Pentru a vedea cum arată acest lucru în practică, să introducem temporar o eroare în setări. De exemplu, în parola de e-mail de domeniu (proprietatea Parolă, poz.31). Și, de asemenea, pentru a afișa informații detaliate despre eroare, setate temporar în proprietate SMTPDebug(poz.50) valoarea 1. După ce, când totul este depanat și verificat, vom dezactiva modul de depanare SMTP, înlocuind 1 cu 0.

În partea finală a scriptului, după specificarea tuturor proprietăților și metodelor necesare, metoda este folosită pentru a trimite scrisoarea trimite()) (poz. 51). Și dacă scrisoarea este trimisă, și metoda trimite() pentru obiect $mail returnează true, apoi în dialogul browserului prin variabilă $alerta Va fi afișat un mesaj despre trimiterea cu succes a e-mailurilor (poz. 52).

Dacă, din anumite motive, e-mailul nu a putut fi trimis și, în consecință, metoda nu a putut returna adevărat, atunci această stare va fi însoțită de un mesaj de eroare corespunzător (poz. 55).

Se verifică trimiterea e-mailului

După ce am creat un script pentru trimiterea de e-mailuri, desigur, trebuie să ne uităm la rezultatul „creativității” noastre. Am luat în considerare totul aici și nu am făcut nicio greșeală?

Pentru a face acest lucru, să încercăm, așa cum intenționăm, să trimitem un mesaj de la utilizator către administratorul site-ului din formularul de feedback. Mai jos este o captură de ecran a formularului de feedback cu câmpurile completate înainte de a fi trimis.

Și iată rezultatul depunerii formularului.

Unde, din mesajul din caseta de dialog browser, este clar că scrisoarea nu poate fi trimisă din cauza unei probleme cu conexiunea SMTP.

Dar, de acum proprietatea SMTPDebug(poz. 50) i se atribuie valoarea 1, apoi putem vedea informații detaliate despre eroarea care a apărut și află motivul apariției acesteia.

Următoarea captură de ecran arată că, atunci când încercați să vă conectați, a fost detectată o eroare de autentificare, adică utilizarea unei autentificare sau a unei parole incorecte.

După eliminarea nepotrivirii parolei (anterior o parolă incorectă a fost folosită pentru a putea verifica informațiile suplimentare despre eroare), vom încerca să trimitem e-mailul din nou.

De data aceasta totul părea să meargă bine și am primit un mesaj că e-mailul a fost trimis cu succes. Aparent, cu excepția erorii temporare introduse în mod deliberat în parola de e-mail a domeniului, nu am făcut alte greșeli.

Dar pentru a ne asigura că scrisoarea a fost efectiv livrată destinatarului, să introducem e-mailul cu adresa [email protected] si uita-te la rezultat.

După cum puteți vedea, scrisoarea de la adresă [email protected], din care am trimis un e-mail cu numele „Feedback” a ajuns cu succes la administratorul site-ului. În același timp, corpul scrisorii conține tot conținutul pe care l-am generat în script folosind datele primite din formularul de feedback și anume:

  • Numele expeditorului: Nikolay;
  • Adresa expeditorului: [email protected];
  • Subiectul mesajului: Verificarea trimiterii e-mailurilor;
  • Conținutul mesajului: mesaj de testare.

Acum, după ce ați verificat cu succes trimiterea e-mailurilor, puteți dezactiva modul de depanare SMTP prin alocarea proprietății SMTPDebug(poz.50) valoare 0.

Astfel, am finalizat sarcina de a crea un instrument pentru trimiterea de e-mailuri prin SMTP cu autorizare folosind un server de e-mail terță parte.

De exemplu, în articolul următor, vom analiza cum să trimiteți e-mailuri de confirmare pentru a recupera datele contului de utilizator înregistrat.

Fișierele sursă ale site-ului

Fișierele sursă ale site-ului cu actualizările care au fost făcute în acest articol pot fi descărcate din materialele suplimentare atașate:

  • fisierele directoare www
  • Tabelele bazei de date MySQL

În PHP este destul de popular să folosești scripturi care automatizează procesul de trimitere a scrisorilor. În acest articol ne vom uita la un script simplu care trimite scrisori către destinatari prin SMTP( Protocol simplu de transfer de e-mail ). Ar fi prea ușor să ne limităm doar la această funcționalitate, scriptul acceptă și atașamente, adică poți atașa un fișier pdf, txt sau doc ​​în scrisoarea ta.

Configurarea scriptului este destul de simplă; tot ce aveți nevoie este login-ul și parola expeditorului pentru e-mailul din care vor fi trimise scrisorile.

Scriptul funcționează cu clasa km_smtp_class.php, lucrul bun despre clasă este că acceptă diverse protocoale SSL și TLS care oferă transfer de date securizat.

Iată scenariul în sine:

"smtp.mail.ru", "SMTP_port" => "25", "SMTP_email" => " [email protected]", "SMTP_pass" => "1111111", "SMTP_type" => "null"); // E-mailul destinatarului $Receiver = " [email protected]"; // Subiectul mesajului $Subject = "Trimiterea unui e-mail din PHP"; // Textul mesajului (în HTML) $Text = "Bună ziua!
Mesaj trimis din script Mowshon Website: http://site"; // Atașament în scrisoare - adresa fișierului $Attachment = ""; /* $mail = KM_Mailer nou (server, port, utilizator, parolă, tip); */ /* Tipul poate fi: null, tls sau ssl */ $mail = new KM_Mailer($SenderConfig["SMTP_server"], $SenderConfig["SMTP_port"], $SenderConfig["SMTP_email"], $SenderConfig["SMTP_pass"], $ SenderConfig["SMTP_type"]); if($mail->isLogin) ( // Atașați un fișier if($Attachment) ($mail->addAttachment($Attachment);) // Adăugați mai mulți destinatari $mail->addRecipient( " [email protected]"); $mail->addRecipient(" [email protected]"); /* $mail->send(De la, Pentru, Subiect, Text, Subiect = opțional) */ $SendMail = $mail->send($SenderConfig["SMTP_email"], $Receiver, $Subject, $Text ); // Șterge lista de destinatari $mail->clearBCC( $mail->clearAttachments( echo "A apărut o eroare la conectarea la serverul SMTP");

Configurarea scriptului se bazează în principal pe matricea $SenderConfig, aici trebuie să specificăm SMTP:server, port, login și parola de e-mail. Să descriem fiecare cheie de matrice:

SMTP_server - adresa serverului SMTP (adresă individuală pentru diferite e-mailuri)

Mail.ru mail: Port smtp.mail.ru: 25, 587 și 465 (cu criptare SSL)

E-mail Yandex: Port smtp.yandex.ru: 25, 587 465 (port SSL)

Rambler mail: Port mail.rambler.ru: 25, 587 465 (port SSL)

Yahoo Mail: smtp.mail.yahoo.com Port SSL: 465

(Dacă aveți nevoie de adresa serverelor smtp care nu sunt pe listă, scrieți în comentarii)

SMTP_port - L-am descris deja mai sus pentru fiecare server smtp.

SMTP_email - user ar fi mai precis, dar pentru claritate am scris e-mail, indicăm adresa de e-mail.

SMTP_pass - Parola pentru e-mail care a fost specificată ca valoare în cheia SMTP_email


SMTP_type - NULL implicit. Protocolul prin care vor fi trimise scrisorile. Protocoale: SSL și TLS

Puteți adăuga atașamente la o scrisoare specificând pur și simplu adresa completă a fișierului în variabila $Attachment (/var/patch/to/file/File.pdf)

Dacă aveți întrebări, scrieți-le în comentariile de mai jos.

Deoarece trimiterea de mesaje anonime de pe serverele virtuale de găzduire Windows este interzisă, trimiterea de scrisori ar trebui să se facă printr-un server SMTP, pentru care este posibil să folosim și sistemul nostru de e-mail.

Cum se trimit e-mailuri folosind PHP?

Folosind orice clasă PHP care acceptă autorizarea pe serverul smtp. De exemplu, puteți utiliza setul de clase PHPMailer.

De asemenea, puteți folosi exemplul nostru, care implementează trimiterea de scrisori folosind un server smtp, care necesită autorizare. Prin urmare, nu uitați să adăugați detaliile de acces adecvate la script, de exemplu:

// Dacă trebuie să afișați jurnalul de sesiune SMTP, puteți decomenta următoarea linie. // $_SERVER["depanare"] = adevărat; function MailSmtp ($reciever, $subject, $content, $headers, $debug = 0) ( $smtp_server = "smtp.site"; // Adresa serverului SMTP$smtp_port = 25 ; // Port server SMTP$smtp_user = " [email protected]" ; // Nume de utilizator pentru autorizare pe serverul SMTP$smtp_password = "parolă" ; // Parola pentru autorizare pe serverul SMTP$mail_from = " [email protected]" ; // Cutia poștală din care este trimisă scrisoarea$sock = fsockopen ($smtp_server, $smtp_port, $errno, $errstr, 30); $str = fgets ($sock, 512);<" . $mail_from . ">if (! $sock ) ( printf ("Socket nu este creat\n" ); exit(1 ); ) smtp_msg ($sock , "HELO " . $_SERVER [ "SERVER_NAME" ]); smtp_msg($sock, "AUTH LOGIN"); smtp_msg ($sock, base64_encode ($smtp_user)); smtp_msg ($sock, base64_encode ($smtp_parola)); smtp_msg ($sock , „MAIL FROM:<" . $reciever . ">" ); smtp_msg ($sock , "DATE" ); $headers = "Subiect: " . $subiect . "\r\n" . $headers ; $date = $headers . "\r\n\r\n" . $conținut . „\r\n ; _SERVER [ „depanare” ]) && $_SERVER [ „depanare” ]) ( printf ( „Trimite de la noi: %s
" , nl2br (htmlspecialchars ($msg )); ) fputs ($sock , " $msg \r\n" ); $str = fgets ($sock , 512 ); if (! $sock ) ( printf ( "Socket este jos\n" ); ieșire(1); ) else ( if (isset($_SERVER [ "depanare" ]) && $_SERVER [ "depanare" ]) ( printf ("Ați primit de la server: %s
" , nl2br (htmlspecialchars ($str )); ) $e = explode (" " , $str ); $cod = array_shift ($e ); $str = implod ( " " , $e ); dacă ($cod > 499 ) ( printf ( „Probleme cu conversația SMTP.

Codul %d.
Mesaj %s
"
, $cod , $str );

ieșire(1);

) ) ) ?>

Descărcați un exemplu de script gata făcut cu funcția MailSmtp(): smtpauth.php.sample Puteți utiliza funcția MailSmtp() descrisă mai sus pentru a înlocui direct funcția mail() să luați în considerare un exemplu de cea mai simplă formă în PHP: // Anteturile mesajelor, ele definesc codificarea mesajului, câmpurile De la, Către etc.$headers = "Versiune MIME: 1.0\r\n" ; $headers .= „Tip de conținut: text/html; set de caractere=windows-1251\r\n” " ; ; $headers .= "Către: $la \r\n" ; $headers .=„De la: numele expeditorului
// mail ($la, $subiect, $mesaj, $anteturi); require_once "smtpauth.php";  MailSmtp ($to, $subiect, $mesaj, $anteturi);  ) ?> La care: 
 
 

Text:

Trimite!

Pentru ca acest formular să funcționeze fără funcția mail(), am inclus fișierul smtpauth.php prin require_once și am numit funcția MailSmtp() descrisă în el cu argumente similare cu mail(). În același timp, am comentat apelul mail() în cod pentru a evita erorile la executarea scriptului. Cum se trimit e-mailuri folosind ASP.NET? Dacă utilizați versiunea 2.0, atunci utilizați clasa MailMessage

System.Net.Mail

), bine descris.

<% @Page Language="c#" %> <% @Import Namespace="System.Net.Mail" %> <% @Import Namespace="System.Net" %> <% MailMessage message = new MailMessage(); Mai jos sunt exemple de utilizare a acestuia pentru limbajele C# și VisualBasic: Exemplu pentru limbajul C#: [email protected]"); // creează o nouă literă mesaj.Pentru.Adăugare(" // adăugarea adresei destinatarului mesaj.De la = new MailAddress("de la@ domeniu.tld", "Nume_expeditor"); // precizând numele și adresa expeditorului message.Subject = "Subiectul mesajului"; // precizând subiectul scrisorii message.BodyEncoding = System.Text.Encoding.UTF8; // specificând codificarea literelor message.Body = „Textul mesajului”; // precizând textul (corpul) scrisorii Client SmtpClient = SmtpClient nou("smtp.site",25); // creează o nouă conexiune la serverul „smtp.site” client.DeliveryMethod = SmtpDeliveryMethod.Network; // definește metoda de trimitere a mesajelor client.EnableSsl = false; // dezactivează necesitatea utilizării unei conexiuni securizate la server client.UseDefaultCredentials = false; // dezactivează utilizarea detaliilor de autorizare implicite client.Credentials = new NetworkCredential("postmaster@ // adăugarea adresei destinatarului", "***parolă***"); // specificarea detaliilor necesare (nume utilizator și parola) pentru autorizarea pe serverul SMTP client.Trimite(mesaj); // trimite un mesaj %>

Descărcați un exemplu de formular finalizat care demonstrează utilizarea acestei metode: MailForm.aspx.

Exemplu pentru limbajul VisualBasic:

<% @Page Language="VB" Debug="true" %> <% @Import Namespace="System.Net.Mail" %> <% @Import Namespace="System.Net" %> <% Dim smtpMssg AS new MailMessage smtpMssg.From = New MailAddress ("admin@// adăugarea adresei destinatarului", "Nume_expeditor") smtpMssg.To.Add (" [email protected]") " adăugând adresa destinatarului smtpMssg.Subject = „Subiectul e-mailului” „indicarea subiectului scrisorii smtpMssg.Body = „Textul mesajului” " indicarea textului (corpului) scrisorii smtpMssg.BodyEncoding = System.Text.Encoding.UTF8 " indicație a codificării literei smtpMssg.IsBodyHtml = fals " indicarea formatului literei (adevărat - HTML, fals - nu HTML) Dim SmtpMail ca SmtpClient nou ("smtp.site", 25) " declararea unui nou obiect de tip "SmtpClient" SmtpMail.DeliveryMethod = SmtpDeliveryMethod.Network „indicarea modului de livrare a scrisorilor SmtpMail.UseDefaultCredentials = Fals „dezactivarea utilizării acreditărilor de autorizare în mod implicit” SmtpMail.EnableSsl = Fals " dezactivează necesitatea utilizării unei conexiuni securizate la server SmtpMail.Credentials = new NetworkCredential("postmaster@ // adăugarea adresei destinatarului", "***parolă***") „indicând detaliile necesare (nume de utilizator și parolă) pentru autorizarea pe serverul SMTP SmtpMail.Send(smtpMssg) " trimiterea unui mesaj %>

Există, de asemenea, o clasă SmtpMail depreciată (și depreciată) (folosind spațiul de nume System.Web.Mail). Mai jos este un exemplu de utilizare a acestuia pentru limbajul VisualBasic:

<% @Page Language="VB" Debug="true" %> <% @Import Namespace="System.Web" %> <% @Import Namespace="System.Web.Mail" %> <% Dim smtpMssg = new MailMessage " declararea unui nou obiect de tip "MailMessage" smtpMssg.From = „Nume_expedient // adăugarea adresei destinatarului>" „Indicarea numelui si adresei expeditorului smtpMssg.To = "admin@ // adăugarea adresei destinatarului" " indicarea adresei destinatarului smtpMssg.BodyFormat = MailFormat.Text " indicarea formatului scrisorii smtpMssg.BodyEncoding = Encoding.UTF8 „indicând codificarea literei smtpMssg.Subject = „Subiectul e-mailului” „indicarea subiectului scrisorii smtpMssg.Body = „Textul mesajului” " indicarea textului scrisorii smtpMssg.Fields.Add ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate",1) „indicand necesitatea autorizarii SMTP pe server smtpMssg.Fields.Add ("http://schemas.microsoft.com/cdo/configuration/sendusername", "admin@" // adăugarea adresei destinatarului") „nume de utilizator pentru autorizare smtpMssg.Fields.Add ("http://schemas.microsoft.com/cdo/configuration/sendpassword", "***parola***") „parola pentru autorizare SmtpMail.SmtpServer = „smtp.site” "specificând adresa serverului SMTP SmtpMail.Send(smtpMssg) " trimiterea unui mesaj %>

Cum se trimit e-mailuri folosind ASP?

Vă rugăm să rețineți că atunci când utilizați serverul nostru smtp, este necesară autorizarea, așa că nu uitați să adăugați detaliile de acces adecvate la script, de exemplu:

<% iConfig = Server.CreateObject("CDO.Configuration") Set iConfig = Server.CreateObject("CDO.Configuration") With iConfig.Fields .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.сайт" .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 .Item("http://schemas.microsoft.com/cdo/configuration/languagecode") = "ru" .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "postmaster@// adăugarea adresei destinatarului" .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "parolă" .Actualizare Încheiere cu Set cdoMessage = CreateObject("CDO.Message") Cu set cdoMessage .Configuration = iConfig .From = „Testează utilizatorul // adăugarea adresei destinatarului>" .To = "Utilizator " .Subject = "Bună, utilizator" .TextBody = "Scriu acest mesaj din scriptul ASP." .Send End With Set cdoMessage = Nimic Set iConfig = Nimic %>

Unele CMS au deja instrumente încorporate pentru trimiterea corespondenței sau modulele corespunzătoare, să ne uităm la cele mai populare.

Wordpress

Pentru acest CMS există un modul special „WP Mail SMTP”, un exemplu de configurare a acestuia este descris pe pagina modulului.

Fiți atenți la ilustrația din exemplu în sistemul nostru de e-mail, este necesar să folosiți portul 25 și nu este necesară criptarea SSL.

Joomla

În panoul de administrare, accesați secțiunea „Setări generale”, selectați fila „Server”. În câmpul „Poștă”, trebuie să selectați metoda de trimitere ca „Server SMTP”, în câmpurile „Adresa serverului SMTP” și „Autentificare SMTP” și „Parola SMTP” specificați detaliile adecvate ale sistemului de e-mail, de exemplu: smtp.site, caseta@domeniul_dvs si corespunzatoare parolă.

Drupal

Acest CMS are, de asemenea, propriul modul pentru lucrul cu un server SMTP, bazat pe PHPMailer. Puteți descărca acest modul de pe pagina sa de pe site-ul CMS Drupal, o descriere a instalării modulului este disponibilă în arhivă.

NetCat

Acest CMS nu are funcții încorporate pentru lucrul cu un server SMTP. Pentru a trimite e-mail folosind scripturi de site, vă putem oferi să utilizați soluția noastră pentru a o conecta trebuie să efectuați următorii pași:

  • Descărcați o arhivă cu fișierele necesare de pe site-ul nostru ( send_auth_mail.phpŞi mail.inc.php) și despachetați-l pe computer;
  • Editați fișierul send_auth_mail.php din arhivă, indicând în ea detaliile de conectare la serverul SMTP dorit:

    • $mail_smtpServer = "smtp.site"; (adresa serverului SMTP)
    • $mail_port = "25" ; (port de conectare)
    • $mail_username = "[email protected]" ; (nume de utilizator pentru autorizare pe serverul SMTP)
    • $mail_parola = "Parolă"; (parola pentru autorizare pe serverul SMTP)
  • Creați o copie de rezervă a fișierului domain.tld/www/netcat/admin/mail.inc.php;
  • Încărcați fișiere send_auth_mail.phpŞi mail.inc.php la site-ul virtual din director domain.tld/www/netcat/admin/

// adăugarea adresei destinatarului ar trebui să fie înlocuit cu numele dvs. de domeniu.

Soluția propusă funcționează cu toate modulele NetCat care utilizează funcțiile standard ale acestui CMS pentru a trimite e-mail.

© 2024 ermake.ru -- Despre repararea PC-ului - Portal de informații