php

Korištenje funkcije mail () u PHP-u na Ubuntuu

Korištenje funkcije mail () u PHP-u na Ubuntuu

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 msmtp

Stvorite konfiguracijsku datoteku s imenovanim / etc / msmtprc sa sljedećom naredbom:

$ sudo nano / etc / msmtprc

U 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 vrijednosti
tls 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.com
smtp_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 ().

Srednja tipka miša ne radi u sustavu Windows 10
The srednja tipka miša pomaže vam u pomicanju kroz dugačke web stranice i zaslone s puno podataka. Ako se to zaustavi, na kraju ćete koristiti tipkovn...
Kako promijeniti lijevu i desnu tipku miša na računalu sa sustavom Windows 10
Sasvim je normalno da su svi uređaji računalnog miša ergonomski dizajnirani za dešnjake. Ali postoje dostupni uređaji za miš koji su posebno dizajnira...
Emulirajte klikove mišem lebdeći mišem bez klika u sustavu Windows 10
Korištenje miša ili tipkovnice u pogrešnom držanju pretjerane upotrebe može rezultirati mnogim zdravstvenim problemima, uključujući naprezanje, sindro...