Funkcija mail () je ugrađena PHP funkcija koja se koristi za slanje e-pošte s localhosta. Ali neke su konfiguracije potrebne za slanje e-pošte pomoću ove funkcije. Za postavljanje konfiguracije trebat će vam stvarni podaci poslužitelja pošte. Možete koristiti podatke o poslužitelju pošte svog aktivnog poslužitelja za hosting ili možete koristiti bilo koje besplatne podatke o poslužitelju pošte. Gmail račun i podaci o SMTP poslužitelju Gmaila koriste se u ovom vodiču za slanje e-pošte pomoću funkcije mail ().
Postavljanje konfiguracije
Dvije datoteke bit će potrebne za izmjenu kako bi se postavila konfiguracija: php.ini datoteka i druga datoteka potrebna je za konfiguriranje za postavljanje poslužitelja pošte. Slijedite korake prikazane u nastavku za postavljanje konfiguracije. Mnogi paketi dostupni su u PHP-u za slanje e-pošte. msmtp je klijent PHP poslužitelja pošte koji se koristi u ovom vodiču za slanje e-pošte pomoću funkcije PHP mail ().
Koraci:
Pokrenite sljedeću naredbu da biste instalirali msmtp paket na Ubuntuu za postavljanje poslužitelja pošte:
$ sudo apt-get install msmtpStvorite konfiguracijsku datoteku s imenovanim / etc / msmtprc sa sljedećom naredbom:
$ sudo nano / etc / msmtprcU datoteku dodajte sljedeći sadržaj. Dodajte važeću e-adresu za korisnik i valjanu lozinku za zaporka koji će se koristiti za slanje e-pošte. Postavite e-adresu pošiljatelja za oblik vrijednost.
zadane vrijednostitls dalje
tls_starttls na
tls_trust_file / etc / ssl / certs / ca-certifikati.crt
zadani račun
domaćin smtp.gmail.com
luka 587
aut
korisničko ime korisnika @ gmail.com
lozinka user_password
s adrese_pošt_pošiljatelja
Izvedite sljedeće naredbe da biste postavili vlasništvo i dopuštenje za / etc / msmtprc datoteka:
$ sudo chown fahmida / etc / msmtprc$ sudo chmod 0600 / etc / msmtprc
Otvori php.ini datoteku i izmijenite sljedeći sadržaj sa sljedećim vrijednostima:
SMTP = smtp.gmail.comsmtp_port = 587
sendmail_path = "/ usr / bin / msmtp -t -i"
Sintaksa:
bool pošta (string $ to, string $ subject, string $ message [, mješoviti $ Additional_headers [, string $ Additional_parameters]])Ova funkcija može imati četiri argumenta. Prvi argument uzima e-adresu primatelja. Drugi argument uzima temu e-pošte. Treći argument uzima tijelo e-pošte. Posljednji je argument neobavezan i sadrži dodatne informacije o e-poruci kao niz ili niz.
Slanje e-pošte pomoću funkcije mail ()
Različiti primjeri slanja e-pošte pomoću funkcije PHP mail () prikazani su u ovom odjeljku vodiča.
Primjer 1: Pošaljite jednostavnu tekstualnu e-poštu
Ovaj primjer pokazuje kako se jednostavna tekstualna e-pošta može poslati pomoću funkcije mail (). Stvorite PHP datoteku sa sljedećom skriptom.
Morate postaviti važeću adresu e-pošte za $ do varijabla za dobivanje rezultata sljedeće skripte. Jednostavan tekst postavljen je kao tijelo poruke.
// Postavljanje adrese e-pošte primatelja$ to = "[e-pošta zaštićena]";
// Postavite temu e-pošte
$ subject = "Riječ je o testnoj e-pošti";
// Postavljanje tijela e-pošte
$ message = "Testira se tijelo e-pošte";
// Postavljanje podataka zaglavlja
$ headers = "Od: [e-pošta zaštićena] \ r \ n";
$ zaglavlja .= "Odgovor na: [zaštićen e-poštom] \ r \ n";
// Slanje e-pošte pomoću funkcije mail mail ()
ako (pošta ($ na, $ predmet, $ poruka, $ zaglavlja))
echo "E-pošta je uspješno poslana.\ r \ n ";
drugo
echo "E-pošta nije poslana.
";
?>
Sljedeći će se izlaz pojaviti nakon pokretanja skripte s web poslužitelja ako funkcija mail () radi ispravno.
Sljedeći će se izlaz pojaviti ako provjerite pristiglu poštu adrese e-pošte koja je postavljena kao adresa e-pošte primatelja.
Primjer 2: Pošaljite e-poštu u formatu HTML
Ovaj primjer pokazuje kako se HTML formatirana e-pošta može poslati pomoću funkcije mail (). Stvorite PHP datoteku sa sljedećom skriptom.
$ poruka varijabla inicijalizira se HTML sadržajem koji će se poslati kao tijelo e-pošte. Spominje se u $ zaglavlje varijabla da je sadržaj e-pošte HTML.
// Postavljanje adrese e-pošte primatelja$ to = "[e-pošta zaštićena]";
// Postavite temu e-pošte
$ subject = 'Registracija uspješna';
// Postavljanje tijela e-pošte
$ message = '
Vaša je registracija uspješno dovršena.
korisničko ime = fahmida20
lozinka = aswQ34ghqw
';
// Postavi povratak kočije
$ nl = "\ r \ n";
// Postavljanje zaglavlja Content-type
$ headers = 'MIME-verzija: 1.0 '.$ nl;
$ zaglavlja .= 'Vrsta sadržaja: text / html; charset = iso-8859-1 '.$ nl;
// Postavite dodatne informacije za zaglavlja
$ zaglavlja .= 'Prima: Mehrab Hossain'.$ nl;
$ zaglavlja .= 'Od: Administrator'.$ nl;
$ zaglavlja .= 'Kopija: [e-pošta zaštićena]'.$ nl;
// Slanje e-pošte pomoću funkcije mail mail ()
if (mail ($ na, $ subject, $ message, $ headers))
echo "E-pošta je uspješno poslana.\ r \ n ";
drugo
echo "E-pošta nije poslana. \ r \ n ";
?>
Sljedeći će se izlaz pojaviti nakon pokretanja skripte s web poslužitelja ako funkcija mail () radi ispravno.
Sljedeći će se izlaz pojaviti ako provjerite pristiglu poštu adrese e-pošte koja je postavljena kao adresa e-pošte primatelja.
Primjer 3: Pošaljite e-poštu s privitkom
Ovaj primjer pokazuje kako se e-pošta može poslati dodavanjem tekstualne datoteke. Stvorite tekstualnu datoteku sa sljedećom skriptom.
Sadržaj tekstualne datoteke čita se i kodira prije privitka, a funkcija md5 () koristi se u skripti za generiranje slučajnog broja za miješani sadržaj. Sve potrebne informacije dodaju se u $ zaglavlja i $ poruka varijable prije slanja e-pošte.
// Postavljanje adrese e-pošte primatelja$ to = "[e-pošta zaštićena]";
// Postavite temu e-pošte
$ subject = "Privitak datoteke";
// Postavi povratak kočije
$ nl = "\ r \ n";
// Postavite slučajni hash koji će se koristiti za miješani sadržaj
$ separator = md5 (vrijeme ());
// Pročitajte sadržaj priložene datoteke
$ filename = 'moja datoteka.txt ';
$ content = file_get_contents ($ ime datoteke);
$ content = chunk_split (base64_encode ($ content));
// Postavite e-poruku s podacima o privitku
$ poruka = "-" . $ separator . $ nl;
$ poruka .= "Content-Type: text / plain; charset =" iso-8859-1 "" . $ nl;
$ poruka .= "Kodiranje prijenosa sadržaja: 8 bit" . $ nl;
$ poruka .= "Uz e-poštu je priložena tekstualna datoteka." . $ nl;
$ poruka .= "-" . $ separator . $ nl;
$ poruka .= "Content-Type: application / octet-stream; name =" " . $ ime datoteke . "" " . $ nl;
$ poruka .= "Kodiranje prijenosa sadržaja: base64" . $ nl;
$ poruka .= "Sadržaj-raspolaganje: privitak" . $ nl;
$ poruka .= $ sadržaj . $ nl;
$ poruka .= "-" . $ separator . "-";
// Postavljanje zaglavlja Content-type
$ headers = 'MIME-verzija: 1.0 '.$ nl;
$ zaglavlja .= "Od: [e-pošta zaštićena]".$ nl;
$ zaglavlja .= "Odgovor na: [zaštićen e-poštom]".$ nl;
$ zaglavlja .= "Content-Type: više dijelova / miješano; granica =" " . $ separator . "" " .$ nl;
// Slanje e-pošte pomoću funkcije mail mail ()
if (mail ($ na, $ subject, $ message, $ headers))
echo "E-pošta je uspješno poslana s privitkom.\ r \ n ";
drugo
echo "E-pošta nije poslana. \ r \ n ";
?>
Sljedeći će se izlaz pojaviti nakon pokretanja skripte s web poslužitelja ako funkcija mail () radi ispravno.
Sljedeći će se izlaz pojaviti ako provjerite pristiglu poštu adrese e-pošte koja je postavljena kao adresa e-pošte primatelja.
Zaključak
U PHP-u postoje mnogi načini za slanje e-pošte. PHP mail () funkcija ne radi ispravno na Ubuntuu nakon postavljanja konfiguracije. Ovaj vodič prikazuje potrebne konfiguracije i način slanja e-pošte pomoću funkcije PHP mail ().