php

Uporaba funkcije pošte () v PHP v Ubuntuju

Uporaba funkcije pošte () v PHP v Ubuntuju

Funkcija mail () je vgrajena funkcija PHP, ki se uporablja za pošiljanje e-pošte z lokalnega gostitelja. Toda nekatere konfiguracije zahtevajo pošiljanje e-pošte s to funkcijo. Za nastavitev konfiguracije boste potrebovali prave podatke o poštnem strežniku. Uporabite lahko podatke o poštnem strežniku vašega aktivnega strežnika za gostovanje ali katere koli brezplačne podatke o poštnem strežniku. V tej vadnici se za pošiljanje e-pošte s funkcijo mail () uporabljajo Gmail račun in podatki o strežniku SMTP za Gmail.

Nastavitvena konfiguracija

Za nastavitev konfiguracije bo treba spremeniti dve datoteki: php.ini datoteka in za nastavitev poštnega strežnika je potrebna druga datoteka. Za nastavitev konfiguracije sledite spodnjim korakom. V paketu PHP je na voljo veliko paketov za pošiljanje e-pošte. msmtp je odjemalec poštnega strežnika PHP, ki se v tej vadnici uporablja za pošiljanje e-pošte s pomočjo funkcije PHP mail ().

Koraki:

Zaženite naslednji ukaz, da namestite msmtp paket v Ubuntuju za nastavitev poštnega strežnika:

$ sudo apt-get install msmtp

Ustvarite konfiguracijsko datoteko z imenom / etc / msmtprc z naslednjim ukazom:

$ sudo nano / etc / msmtprc

V datoteko dodajte naslednjo vsebino. Dodajte veljaven e-poštni naslov za uporabnik in veljavno geslo za geslo ki bo uporabljen za pošiljanje e-pošte. Nastavite e-poštni naslov pošiljatelja za oblika vrednost.

privzete vrednosti
tls naprej
tls_starttls vklopljen
tls_trust_file / etc / ssl / certs / ca-certifikati.crt
privzeti račun
gostitelj smtp.gmail.com
vrata 587
prijava naprej
uporabniško ime @ gmail.com
geslo user_password
od sender_email_address

Zaženite naslednje ukaze, da nastavite lastništvo in dovoljenje za / etc / msmtprc:

$ sudo chown fahmida / etc / msmtprc
$ sudo chmod 0600 / etc / msmtprc

Odprite php.ini datoteko in spremenite naslednjo vsebino z naslednjimi vrednostmi:

SMTP = smtp.gmail.com
smtp_port = 587
sendmail_path = "/ usr / bin / msmtp -t -i"

Sintaksa:

bool mail (niz $ to, niz $ tema, niz $ sporočilo [, mešani $ Additional_headers [, niz $ Additional_parameters]])

Ta funkcija ima lahko štiri argumente. Prvi argument zajema e-poštni naslov prejemnika. Drugi argument je predmet e-pošte. Tretji argument je telo e-pošte. Zadnji argument je neobvezen in vsebuje dodatne informacije o e-poštnem sporočilu kot niz ali matriko.

Pošiljanje e-pošte s funkcijo mail ()

V tem poglavju vadnice so prikazani različni primeri pošiljanja e-pošte s pomočjo funkcije PHP mail ().

Primer 1: Pošljite preprosto besedilno e-pošto

Ta primer prikazuje, kako lahko preprosto besedilno e-poštno sporočilo pošljete s funkcijo mail (). Ustvarite datoteko PHP z naslednjim skriptom.

Nastaviti morate veljaven e-poštni naslov za $ do spremenljivko, da dobite rezultat naslednjega skripta. Preprosto besedilo je nastavljeno kot telo sporočila.

// Nastavite e-poštni naslov prejemnika
$ to = "[e-pošta zaščitena]";
// Nastavite temo e-poštnega sporočila
$ subject = "To je testno e-poštno sporočilo";
// Nastavitev telesa e-pošte
$ message = "Preizkuša telo e-pošte";
// Nastavite informacije o glavi
$ headers = "Od: [zaščiteno po e-pošti] \ r \ n";
$ glave .= "Odgovor na: [zaščiten po e-pošti] \ r \ n";
// Pošiljanje e-pošte s funkcijo sporočila mail ()
če (pošta ($ na, $ tema, $ sporočilo, $ glave))

echo "E-pošta je bila uspešno poslana.\ r \ n ";

sicer
echo "E-pošta ni bila poslana.
";

?>

Naslednji izhod se prikaže po zagonu skripta s spletnega strežnika, če funkcija mail () deluje pravilno.


Naslednji izhod se prikaže, če preverite mapo »Prejeto« e-poštnega naslova, ki je bil nastavljen kot e-poštni naslov prejemnika.

2. primer: Pošljite e-poštno sporočilo v obliki zapisa HTML

Ta primer prikazuje, kako lahko e-poštno sporočilo v obliki zapisa HTML pošljete s funkcijo mail (). Ustvarite datoteko PHP z naslednjim skriptom.

$ sporočilo spremenljivka se inicializira z vsebino HTML, ki bo poslana kot telo e-pošte. Omenjeno je v $ header spremenljivka, da je vsebina e-poštnega sporočila HTML.

// Nastavite e-poštni naslov prejemnika
$ to = "[e-pošta zaščitena]";
// Nastavite temo e-poštnega sporočila
$ subject = 'Registracija uspešna';
// Nastavitev telesa e-pošte
$ message = '

Vaša registracija je uspešno zaključena.


uporabniško ime = fahmida20

geslo = aswQ34ghqw


';
// Nastavitev vrnitve kočije
$ nl = "\ r \ n";
// Nastavimo glavo Content-type
$ headers = 'Različica MIME: 1.0 '.$ nl;
$ glave .= 'Vrsta vsebine: besedilo / html; charset = iso-8859-1 '.$ nl;
// Nastavite dodatne informacije o glavah
$ glave .= 'Za: Mehrab Hossain'.$ nl;
$ glave .= 'Od: Administrator'.$ nl;
$ glave .= 'Kp: [e-pošta zaščitena]'.$ nl;
// Pošiljanje e-pošte s funkcijo sporočila mail ()
if (mail ($ na, $ subject, $ message, $ headers))
echo "E-pošta je bila uspešno poslana.\ r \ n ";

sicer
echo "E-pošta ni bila poslana. \ r \ n ";

?>

Naslednji izhod se prikaže po zagonu skripta s spletnega strežnika, če funkcija mail () deluje pravilno.


Naslednji izhod se prikaže, če preverite mapo »Prejeto« e-poštnega naslova, ki je bil nastavljen kot e-poštni naslov prejemnika.

3. primer: Pošljite e-poštno sporočilo s prilogo

Ta primer prikazuje, kako lahko e-pošto pošljete tako, da priložite besedilno datoteko. Ustvarite besedilno datoteko z naslednjim skriptom.

Vsebina besedilne datoteke se prebere in kodira pred prilogo, funkcija md5 () pa se v skriptu uporablja za ustvarjanje naključne številke za mešano vsebino. Vse potrebne informacije so dodane v $ glave in $ sporočilo spremenljivke pred pošiljanjem e-pošte.

// Nastavite e-poštni naslov prejemnika
$ to = "[e-pošta zaščitena]";
// Nastavite temo e-poštnega sporočila
$ subject = "Priloga datoteke";
// Nastavitev vrnitve kočije
$ nl = "\ r \ n";
// Nastavite naključno razpršitev, ki se bo uporabljala za mešano vsebino
$ ločilo = md5 (čas ());
// Preberite vsebino priložene datoteke
$ filename = 'moja datoteka.txt ';
$ content = file_get_contents ($ ime datoteke);
$ content = chunk_split (base64_encode ($ content));
// Nastavite e-poštno sporočilo z informacijami o priponki
$ message = "-" . ločilo $ . $ nl;
$ sporočilo .= "Content-Type: text / plain; charset =" iso-8859-1 "" . $ nl;
$ sporočilo .= "Kodiranje prenosa vsebine: 8-bitna" . $ nl;
$ sporočilo .= "E-poštnemu sporočilu je priložena besedilna datoteka." . $ nl;
$ sporočilo .= "-" . ločilo $ . $ nl;
$ sporočilo .= "Content-Type: application / octet-stream; name =" " . $ ime datoteke . "" " . $ nl;
$ sporočilo .= "Kodiranje prenosa vsebine: base64" . $ nl;
$ sporočilo .= "Content-Disposition: priloga" . $ nl;
$ sporočilo .= $ vsebine . $ nl;
$ sporočilo .= "-" . ločilo $ . "-";
// Nastavimo glavo Content-type
$ headers = 'Različica MIME: 1.0 '.$ nl;
$ glave .= "Od: [e-pošta zaščitena]".$ nl;
$ glave .= "Odgovor na: [zaščiten po e-pošti]".$ nl;
$ glave .= "Vrsta vsebine: večdelna / mešana; meja =" " . ločilo $ . "" " .$ nl;
// Pošiljanje e-pošte s funkcijo sporočila mail ()
if (mail ($ na, $ subject, $ message, $ headers))
echo "E-pošta je bila uspešno poslana s prilogo.\ r \ n ";

sicer
echo "E-pošta ni bila poslana. \ r \ n ";

?>

Naslednji izhod se prikaže po zagonu skripta s spletnega strežnika, če funkcija mail () deluje pravilno.


Naslednji izhod se prikaže, če preverite mapo »Prejeto« e-poštnega naslova, ki je bil nastavljen kot e-poštni naslov prejemnika.

Zaključek

V PHP obstaja veliko načinov za pošiljanje e-pošte. Funkcija PHP mail () po nastavitvi konfiguracije v Ubuntuju ne deluje pravilno. Ta vadnica prikazuje potrebne konfiguracije in način pošiljanja e-pošte s pomočjo funkcije PHP mail ().

Kako razviti igro na Linuxu
Pred desetletjem le malo uporabnikov Linuxa napoveduje, da bo njihov najljubši operacijski sistem nekoč priljubljena igralna platforma za komercialne ...
Odprtokodna vrata komercialnih igralnih sistemov
Brezplačne, odprtokodne in medplatformacijske igre, ki jih lahko uporabite za igranje starih, pa tudi nekaterih dokaj nedavnih naslovov iger. V tem čl...
Najboljše igre ukazne vrstice za Linux
Ukazna vrstica ni le vaš največji zaveznik pri uporabi Linuxa - lahko je tudi vir zabave, saj jo lahko uporabljate za igranje številnih zabavnih iger,...