Ați vrut vreodată să stabiliți un formular de feedback pe site-ul dvs.? Sigur că te-ai întâlnit cu scripturi similare. În mod ciudat, scripturile gata de trimitere a formularului la e-mail sunt foarte populare (puteți vedea acest lucru în orice arhivă de scripturi) și există multe dintre ele. Există simple în care nimic nu se schimbă, dar există sisteme complexe și mari care funcționează pe mysql, vă permit să modificați dinamic orice câmp, să aveți o grămadă de setări. Dar sunt cu adevărat necesare? În opinia mea, necesitatea unor astfel de sisteme este foarte îndoielnică.
Nu puteți testa trimiterea poștei pe calculatorul de acasă. Pentru aceasta aveți nevoie de găzduire cu suport pentru php și funcții de trimitere a poștei. Vă recomandăm să vă furnizați furnizorul runweb.ru. Acest furnizor oferă rate excelente, cea mai mare viteză de acces și servicii excelente.
Metode de trimitere a corespondenței
Puteți trimite poștă de la server folosind php în două moduri principale.
Vreau să iau în considerare amândouă în ordine.
Primul și cel mai simplu este utilizarea funcției php mail (). Funcția este foarte simplă și ușor de înțeles, deși trimiterea de mesaje prin poștă () are un număr de dezavantaje. Cel mai important - scrisoarea nu este trimisă direct, ci prin intermediul php. În același timp, programul php înlocuiește câteva dintre câmpurile sale pentru scrisoare. De exemplu, nu veți putea specifica corect expeditorul. În câmpul "de la" (adică de la care a venit mesajul), în majoritatea cazurilor numele serverului va fi. Chestia este că php înlocuiește anteturile sale în linia de serviciu cu o scrisoare "de la".
Cu toate acestea, trimiterea de e-mail utilizând funcția mail () rămâne cea mai simplă
mod de a trimite un e-mail de la server. Să analizăm mai detaliat această metodă.
Funcția mail () are următoarea sintaxă:
Iată un exemplu complet de trimitere a e-mailului prin poștă ():
Rețineți că, dacă utilizați această funcție pe computerul de acasă, este posibil să apară o eroare, deoarece nu poate trimite un mesaj fără un server de poștă electronică.
Acum, să vedem cum puteți trimite un mesaj folosind sendmail.
sendmail este un program standard de sistem de operare unix care trimite poștă.
php poate rula programe UNIX folosind mijloacele de țevi (literalmente "conducte"). Acest instrument unix vă permite să trimiteți date de la un program la altul, cum ar fi modul în care scriem într-un fișier. Numai fișierul în acest caz este programul (în special, sendmail), care primește datele.
Programul sendmail are mulți parametri, vom folosi unele dintre ele. Pentru a utiliza sendmail, trebuie să deschideți o țeavă. În php, aceasta se face folosind comanda popen (), care este identică în sintaxa cu comanda fopen (). Folosind popen (), deschidem un thread pentru sendmail
să-l scrieți (amintiți-vă, parametrul modului "w"?), după care puteți trimite date cu ajutorul comenzilor obișnuite fputs (). Să vedem cum arată procedura pentru trimiterea unui mesaj prin sendmail:
Apoi, scrieți mai întâi anteturile literei (variabilă $ text_headers), apoi separați-le cu simbolul transferului de linie și scrieți textul mesajului. Ultimul pas este închiderea firului și verificarea unei erori. Dacă alocați corect rezultatului $ la variabila, este plasat zero și dacă apare o eroare, numărul de eroare este scris în el.
Acum, să examinăm un exemplu de utilizare a capabilităților de trimitere a poștei. Pentru a face acest lucru, vom face un formular de feedback pe care îl puteți instala pe site-ul dvs. Ca metodă de trimitere a unui mesaj, vom folosi sendmail.
Creați un formular de feedback
Formularul nostru de feedback va fi un script. Acest script va imprima formularul și va trimite scrisoarea.
Acum, să ne uităm la modul în care funcționează acest program. Execuția începe cu linia "if (! $ A) show_form ();", deoarece înainte de această funcție este specificată, care, desigur, nu este executată. În acest rând, verificăm dacă a existat o încercare de completare a formularului (din formular, după cum puteți vedea, variabila $ a este trecută, care este bifată în această linie). Dacă nu a existat o astfel de încercare, se numește funcția show_form (), care emite formularul.
Mai mult, dacă formularul a fost deja trimis la scenariu, sunt verificate câmpurile obligatorii. Câmpurile "name", "email" și "textul mesajului" sunt obligatorii. Dacă una dintre ele nu este completă, formularul se numește cu parametrul $ s, în care este trimis un mesaj de eroare.
Acum, dacă totul este corect, vom descrie variabilele necesare și titlurile rfc ale literei, apoi trimitem mesajul prin sendmail și vom transmite un mesaj despre rezultatul (trimis / nu este trimis). Aici totul este simplu și clar din exemplele anterioare.
De fapt, acest lucru și tot ce este necesar pentru a face un formular de feedback pe site-ul dvs. :)
După cum puteți vedea, nu este nimic complicat și programul se dovedește a fi destul de mic.