Funktsioon mail () on sisseehitatud PHP-funktsioon, mida kasutatakse meilisõnumite saatmiseks kohalikult hostilt. Kuid selle funktsiooni abil e-kirjade saatmiseks on vaja mõnda konfiguratsiooni. Konfiguratsiooni seadistamiseks vajate tõelist meiliserveri teavet. Võite kasutada oma aktiivse hostimisserveri meiliserveri teavet või kasutada mis tahes tasuta meiliserveri teavet. Selles õpetuses kasutatakse Gmaili kontot ja Gmaili SMTP-serveri teavet e-posti saatmiseks funktsiooni mail () abil.
Seadistamise seadistamine
Konfiguratsiooni seadistamiseks on vaja muuta kahte faili: php.ini meiliserveri seadistamiseks on vaja faili ja veel ühte faili. Konfiguratsiooni seadistamiseks järgige alltoodud samme. E-kirja saatmiseks on PHP-s saadaval palju pakette. msmtp on PHP-meiliserveri klient, mida kasutatakse selles õpetuses e-kirjade saatmiseks funktsiooni PHP mail () abil.
Sammud:
Rakenduse installimiseks käivitage järgmine käsk msmtp e-posti serveri seadistamiseks Ubuntu pakett:
$ sudo apt-get install msmtpLooge järgmise käsuga konfiguratsioonifail nimega / etc / msmtprc:
$ sudo nano / etc / msmtprcLisage faili järgmine sisu. Lisage domeeni jaoks kehtiv e-posti aadress kasutaja ja kehtiv parool parool mida kasutatakse meili saatmiseks. Määrake saatja e-posti aadress aadressile vormis väärtus.
vaikimisitls sisse
tls_starttls sisse
tls_trust_file / etc / ssl / certs / ca-sertifikaadid.krt
konto vaikimisi
peremees smtp.gmail.com
sadam 587
autoriks
kasutajanimi @ gmail.com
parool kasutaja_parool
saatja_saadressi aadressilt
Omandiõiguse ja õiguse määramiseks käivitage järgmised käsud / etc / msmtprc fail:
$ sudo chown fahmida / etc / msmtprc$ sudo chmod 0600 / etc / msmtprc
Ava php.ini faili ja muutke järgmist sisu järgmiste väärtustega:
SMTP = smtp.gmail.comsmtp_port = 587
sendmail_path = "/ usr / bin / msmtp -t -i"
Süntaks:
bool-kiri (string $ to, string $ subject, string $ message [, mixed $ Additional_headers [, string $ Additional_parameters]])Selle funktsiooni jaoks võib olla neli argumenti. Esimene argument võtab vastu vastuvõtja e-posti aadressi. Teine argument hõlmab meili teemat. Kolmas argument võtab e-posti sisu. Viimane argument on valikuline ja see sisaldab stringi või massiivina lisateavet meilisõnumi kohta.
E-kirja saatmine funktsiooni mail () abil
Erinevad näited e-kirjade saatmisest PHP funktsiooni mail () abil on toodud selles õpetuse osas.
Näide 1: saatke lihtne tekstimeil
See näide näitab, kuidas funktsiooni mail () abil saab saata lihtsat tekstimeili. Looge järgmise skriptiga PHP-fail.
Peate määrama domeenile kehtiva e-posti aadressi $ kuni muutuja järgmise skripti väljundi saamiseks. Lihtne tekst määratakse sõnumi kehaks.
// Määrake vastuvõtja e-posti aadress$ to = "[meiliga kaitstud]";
// Määrake meili teema
$ subject = "See on testimismeil";
// Määra e-posti sisu
$ message = "See testib e-posti sisu";
// Pange päise teave
$ headers = "Saatja: [meil on kaitstud] \ r \ n";
$ päised .= "Vastus: [meiliga kaitstud] \ r \ n";
// Saada meil, kasutades funktsiooni sõnumipost ()
kui (mail ($ to, $ subject, $ message, $ headers))
kaja "E-posti saatmine õnnestus.\ r \ n ";
veel
kaja "E-posti pole saadetud.
";
?>
Järgmine väljund ilmub pärast skripti käivitamist veebiserverist, kui funktsioon mail () töötab korralikult.
Järgmine väljund ilmub, kui kontrollite vastuvõtja e-posti aadressiks määratud e-posti aadressi postkasti.
Näide 2: saatke HTML-vormingus meil
See näide näitab, kuidas HTML-vormingus meilisõnumeid saab saata funktsiooni mail () abil. Looge järgmise skriptiga PHP-fail.
$ sõnum muutuja lähtestatakse HTML-sisuga, mis saadetakse meilisõnumina. Seda mainitakse $ päis muutuja, et e-kirja sisu on HTML.
// Määrake vastuvõtja e-posti aadress$ to = "[meiliga kaitstud]";
// Määrake meili teema
$ subject = 'Registreerimine õnnestus';
// Määra e-posti sisu
$ message = '
Teie registreerimine on edukalt lõpule viidud.
kasutajanimi = fahmida20
parool = aswQ34ghqw
";
// Määrake vaguni tagasipöördumine
$ nl = "\ r \ n";
// Määra päis Sisutüüp
$ päised = 'MIME-versioon: 1.0 '.$ nl;
$ päised .= 'Sisu tüüp: text / html; tähemärk = iso-8859-1 '.$ nl;
// Määrake täiendav päiste teave
$ päised .= 'Saaja: Mehrab Hossain'.$ nl;
$ päised .= 'Saatja: administraator'.$ nl;
$ päised .= 'Koopia: [meiliga kaitstud]'.$ nl;
// Saada meil, kasutades funktsiooni sõnumipostitus ()
kui (mail ($ to, $ subject, $ message, $ headers))
kaja "E-posti saatmine õnnestus.\ r \ n ";
veel
kaja "E-posti pole saadetud. \ r \ n ";
?>
Järgmine väljund ilmub pärast skripti käivitamist veebiserverist, kui funktsioon mail () töötab korralikult.
Järgmine väljund ilmub, kui kontrollite vastuvõtja e-posti aadressiks määratud e-posti aadressi postkasti.
Näide 3: saatke manusega manus
See näide näitab, kuidas saab meili saata, lisades tekstifaili. Looge järgmise skriptiga tekstifail.
Tekstifaili sisu loetakse ja kodeeritakse enne manust ning funktsiooni md5 () kasutatakse skriptis segasisu juhusliku arvu genereerimiseks. Kogu vajalik teave on lisatud $ päised ja $ sõnum muutujad enne meili saatmist.
// Määrake vastuvõtja e-posti aadress$ to = "[meiliga kaitstud]";
// Määrake meili teema
$ subject = "Faili manus";
// Määrake vaguni tagasipöördumine
$ nl = "\ r \ n";
// Määra juhuslik räsi, mida kasutatakse segasisu jaoks
$ eraldaja = md5 (aeg ());
// Loe manustatud faili sisu
$ filename = 'minufail.txt ';
$ content = file_get_contents ($ failinimi);
$ content = chunk_split (base64_encode ($ content));
// Määrake manuse teabega e-kiri
$ message = "-" . eraldaja $ . $ nl;
$ sõnum .= "Sisu tüüp: tekst / tavaline; tähemärk =" iso-8859-1 "" . $ nl;
$ sõnum .= "Sisu edastamine-kodeerimine: 8bit" . $ nl;
$ sõnum .= "E-kirjaga on lisatud tekstifail." . $ nl;
$ sõnum .= "-" . eraldaja $ . $ nl;
$ sõnum .= "Sisu-tüüp: rakendus / oktett-voog; nimi =" " . $ failinimi . "" " . $ nl;
$ sõnum .= "Sisu edastamine-kodeerimine: base64" . $ nl;
$ sõnum .= "Sisu levitamine: manus" . $ nl;
$ sõnum .= $ sisu . $ nl;
$ sõnum .= "-" . eraldaja $ . "-";
// Määrake sisutüübi päis
$ päised = 'MIME-versioon: 1.0 '.$ nl;
$ päised .= "Saatja: [meil on kaitstud]".$ nl;
$ päised .= "Vastus: [meiliga kaitstud]".$ nl;
$ päised .= "Sisu tüüp: mitmeosaline / segatud; piir =" " . eraldaja $ . "" " .$ nl;
// Saada meil, kasutades funktsiooni sõnumipostitus ()
kui (mail ($ to, $ subject, $ message, $ headers))
kaja "E-post on manusega edukalt saadetud.\ r \ n ";
veel
kaja "E-posti pole saadetud. \ r \ n ";
?>
Järgmine väljund ilmub pärast skripti käivitamist veebiserverist, kui funktsioon mail () töötab korralikult.
Järgmine väljund ilmub, kui kontrollite vastuvõtja e-posti aadressiks määratud e-posti aadressi postkasti.
Järeldus
PHP-s on meilide saatmiseks palju võimalusi. PHP mail () funktsioon ei tööta pärast konfiguratsiooni seadistamist Ubuntu korralikult. See õpetus näitab vajalikke konfiguratsioone ja meilisõnumite saatmise viisi, kasutades funktsiooni PHP mail ().