BluePink BluePink
XHost
Oferim servicii de instalare, configurare si monitorizare servere linux (router, firewall, dns, web, email, baze de date, aplicatii, server de backup, domain controller, share de retea) de la 50 eur / instalare. Pentru detalii accesati site-ul BluePink.

Main Menu

Warning: Parameter 1 to modMainMenuHelper::buildXML() expected to be a reference, value given in /home/www/dynamic/uv.ro/interfete-web-2008.uv.ro/public_html/libraries/joomla/cache/handler/callback.php on line 99
Content View Hits : 6319
PHP - Tutorial 5 - E-mail in PHP

Una dintre utilizarile unui limbaj de scripting pentru servere este sa puna la dispozitie un mod de a trimite e-mail de la server. In aceasta parte va voi arata cum se trimit e-mailuri cu ajutorul PHP.

Comanda mail
Se trimit mailuri foarte usor din PHP, spre deosebire de limbajele de scripting ce necesita setari speciale (precum CGI). De fapt, exista doar o comanda, mail() pentru trimiterea de mail. Se foloseste astfel:

mail($to,$subject,$body,$headers);

In acest exemplu am folosit variabile cu nume intuitive, insa puteti pune direct text in comanda. Variabila $to contine adresa de e-mail a destinatarului. $subject este sectiunea pentru subiectul mail-ului, iar $body este textul efectiv al mail-ului.
Sectiunea $headers este folosita pentru headere aditionale pe care ati putea vrea sa le adaugati. De obicei se foloseste pentru expeditor, insa se pot include si alte headere precum cc sau bcc.

Trimiterea unui e-mail
Inainte sa trimiteti mailul, daca folositi variabile, trebuie sa le setati inainte. Iata un exemplu simplu de cod pentru trimiterea unui mesaj:

$to = " This e-mail address is being protected from spambots. You need JavaScript enabled to view it ";
$subject = "PHP Is Great";
$body = "PHP is one of the best scripting languages around";
$headers = "From: This e-mail address is being protected from spambots. You need JavaScript enabled to view it \n";
mail($to,$subject,$body,$headers);
echo "Mail sent to $to";


Acest cod va face 2 lucruri. Primul, va trimite mesajul la adresa This e-mail address is being protected from spambots. You need JavaScript enabled to view it . De asemenea, va afisa textul:
Mail sent to This e-mail address is being protected from spambots. You need JavaScript enabled to view it
in browser.

Formatarea e-mailului
Probabil ca ati observat in exemplu ca linia From se termina cu \n. Acesta este un caracter important in trimiterea de mail-uri. Este caracterul de linie noua si spune PHP-ului sa insereze o linie noua in e-mail. Este foarte important sa-l puneti dupa fiecare header pe care il adaugati, pentru ca e-mailul sa respecte standardele internationale, si sa ajunga la destinatie.

Mail fara variabile
E-mailul de mai sus putea fi trimis folosind alte nume (pozitia variabilelor in raport cu virgulele conteaza, si nu numele lor). Dar se putea face acest lucru intr-o singura linie astfel:

mail(" This e-mail address is being protected from spambots. You need JavaScript enabled to view it ","PHP Is Great","PHP is one of the best scripting languages around","From: This e-mail address is being protected from spambots. You need JavaScript enabled to view it \n");

Dar aceasta va face codul vostru mai greu de inteles.

Controlul erorilor
Este foarte usor sa comiteti greseli in cod, sau sa introduceti o adresa de e-mail invalida. De aceea, puteti adauga o portiune mica de cod care va verifica daca mailul a fost trimis:

if(mail($to,$subject,$body,$headers)) {
echo "An e-mail was sent to $to with the subject: $subject";
} else {
echo "There was a problem sending the mail. Check your code and make sure that the e-mail address $to is valid";
}


Daca mailul este trimis cu succes, va afisa acest lucru utilizatorului. Daca nu, va afisa un mesaj de eroare si niste sugestii pentru rezolvarea problemei.

 
Ce parere aveti despre site?
 
Valid XHTML and CSS.
Baze de date