Funkcija mail () ir iebūvēta PHP funkcija, ko izmanto e-pasta nosūtīšanai no vietējā hosta. Bet, lai nosūtītu e-pastu, izmantojot šo funkciju, ir nepieciešamas dažas konfigurācijas. Lai iestatītu konfigurāciju, jums būs nepieciešama reālā pasta servera informācija. Varat izmantot sava aktīvā mitināšanas servera pasta servera informāciju vai arī jebkuru bezmaksas pasta servera informāciju. Šajā apmācībā tiek izmantots Gmail konts un Gmail SMTP servera informācija, lai nosūtītu e-pastu, izmantojot funkciju mail ().
Iestatīšanas konfigurācija
Lai modificētu konfigurāciju, būs nepieciešami divi faili: php.ini fails un vēl viens fails ir nepieciešams, lai konfigurētu pasta servera iestatīšanu. Veiciet tālāk norādītās darbības, lai iestatītu konfigurāciju. PHP ir pieejamas daudzas paketes e-pasta nosūtīšanai. msmtp ir PHP pasta servera klients, kas šajā apmācībā tiek izmantots e-pasta ziņojumu sūtīšanai, izmantojot funkciju PHP mail ().
Soļi:
Palaidiet šo komandu, lai instalētu msmtp pakotni Ubuntu, lai iestatītu pasta serveri:
$ sudo apt-get install msmtpIzveidojiet konfigurācijas failu ar nosaukumu / etc / msmtprc ar šādu komandu:
$ sudo nano / etc / msmtprcPievienojiet failam šādu saturu. Pievienojiet derīgu e-pasta adresi lietotājs un derīga parole paroli kas tiks izmantots e-pasta nosūtīšanai. Iestatiet sūtītāja e-pasta adresi formā vērtība.
noklusējumustls uz
tls_starttls ieslēgts
tls_trust_file / etc / ssl / certs / ca-sertifikāti.crt
konta noklusējums
uzņēmēja smtp.gmail.com
587. osta
Aut
lietotāja lietotājvārds @ gmail.com
parole lietotāja parole
no sūtītāja_pasta_adreses
Izpildiet šīs komandas, lai iestatītu īpašumtiesības un atļauju / etc / msmtprc fails:
$ sudo chown fahmida / etc / msmtprc$ sudo chmod 0600 / etc / msmtprc
Atveriet php.ini failu un modificējiet šo saturu ar šādām vērtībām:
SMTP = smtp.gmail.comsmtp_port = 587
sendmail_path = "/ usr / bin / msmtp -t -i"
Sintakse:
bool mail (virkne $ to, string $ subject, string $ message [, jaukti $ Additional_headers [, string $ Additional_parameters]])Šai funkcijai var būt četri argumenti. Pirmais arguments ir saņēmēja e-pasta adrese. Otrais arguments attiecas uz e-pasta tēmu. Trešais arguments aizņem e-pasta tekstu. Pēdējais arguments nav obligāts, un tas satur papildu informāciju par e-pastu kā virkni vai masīvu.
E-pasta ziņojumu sūtīšana, izmantojot pasta () funkciju
Šajā apmācības sadaļā ir parādīti dažādi e-pasta nosūtīšanas piemēri, izmantojot PHP funkciju mail ().
1. piemērs: nosūtiet vienkāršu teksta e-pastu
Šis piemērs parāda, kā vienkāršu teksta e-pastu var nosūtīt, izmantojot funkciju mail (). Izveidojiet PHP failu ar šādu skriptu.
Jums ir jāiestata derīga e-pasta adrese $ uz mainīgais, lai iegūtu šāda skripta izvadi. Vienkāršs teksts ir iestatīts kā ziņojuma pamatteksts.
// Iestatiet saņēmēja e-pasta adresi$ to = "[e-pasts aizsargāts]";
// Iestatiet e-pasta tēmu
$ subject = "Tas ir pārbaudes e-pasts";
// Iestatiet e-pasta pamattekstu
$ message = "Tas pārbauda e-pasta pamattekstu";
// Iestatiet galvenes informāciju
$ headers = "No: [aizsargāts ar e-pastu] \ r \ n";
$ galvenes .= "Atbildēt uz: [e-pasts aizsargāts] \ r \ n";
// Sūtīt e-pastu, izmantojot ziņojumu pasta () funkciju
ja (pasts ($ uz, $ tēmu, $ ziņa, $ galvenes))
atbalss "E-pasts ir veiksmīgi nosūtīts.\ r \ n ";
cits
atbalss "E-pasts nav nosūtīts.
";
?>
Pēc skripta palaišanas no tīmekļa servera parādīsies šāda izeja, ja funkcija mail () darbojas pareizi.
Šī pārbaude parādīsies, ja pārbaudīsit e-pasta adreses iesūtni, kas ir iestatīta kā saņēmēja e-pasta adrese.
2. piemērs: nosūtiet HTML formatētu e-pastu
Šis piemērs parāda, kā HTML formātā e-pastu var nosūtīt, izmantojot funkciju mail (). Izveidojiet PHP failu ar šādu skriptu.
$ ziņojums mainīgais tiek inicializēts ar HTML saturu, kas tiks nosūtīts kā e-pasta pamatteksts. Tas ir minēts $ galvene mainīgais, ka e-pasta saturs ir HTML.
// Iestatiet saņēmēja e-pasta adresi$ to = "[e-pasts aizsargāts]";
// Iestatiet e-pasta tēmu
$ subject = 'Reģistrācija ir veiksmīga';
// Iestatiet e-pasta pamattekstu
$ message = '
Jūsu reģistrācija ir veiksmīgi pabeigta.
lietotājvārds = fahmida20
parole = aswQ34ghqw
";
// Iestatiet pārvadājuma atgriešanos
$ nl = "\ r \ n";
// Iestatiet galvenes Satura tips
$ galvenes = 'MIME versija: 1.0 '.$ nl;
$ galvenes .= 'Content-type: text / html; rakstzīme = iso-8859-1 '.$ nl;
// Iestatiet papildu informāciju par galvenēm
$ galvenes .= 'Kam: Mehrabs Hossains'.$ nl;
$ galvenes .= 'No: Administrators'.$ nl;
$ galvenes .= 'Kopija: [e-pasts aizsargāts]'.$ nl;
// Sūtīt e-pastu, izmantojot ziņojumu pasta () funkciju
ja (pasts ($ uz, $ tēmu, $ ziņa, $ galvenes))
atbalss "E-pasts ir veiksmīgi nosūtīts.\ r \ n ";
cits
atbalss "E-pasts nav nosūtīts. \ r \ n ";
?>
Pēc skripta palaišanas no tīmekļa servera parādīsies šāda izeja, ja funkcija mail () darbojas pareizi.
Šī pārbaude parādīsies, ja pārbaudīsit e-pasta adreses iesūtni, kas ir iestatīta kā saņēmēja e-pasta adrese.
3. piemērs: nosūtiet e-pastu ar pielikumu
Šis piemērs parāda, kā e-pastu var nosūtīt, pievienojot teksta failu. Izveidojiet teksta failu ar šo skriptu.
Pirms pielikuma teksta faila saturs tiek nolasīts un kodēts, un skripta funkcija md5 () tiek izmantota nejauša satura ģenerēšanai jauktajam saturam. Visa nepieciešamā informācija ir pievienota $ galvenes un $ ziņojums mainīgos pirms e-pasta nosūtīšanas.
// Iestatiet saņēmēja e-pasta adresi$ to = "[e-pasts aizsargāts]";
// Iestatiet e-pasta tēmu
$ subject = "Faila pielikums";
// Iestatiet pārvadājuma atgriešanos
$ nl = "\ r \ n";
// Iestatiet izlases hash, kas tiks izmantots jauktajam saturam
$ atdalītājs = md5 (laiks ());
// Izlasiet pievienotā faila saturu
$ filename = 'myfile.txt ';
$ content = file_get_contents ($ faila nosaukums);
$ content = chunk_split (base64_encode ($ content));
// Iestatiet e-pasta ziņojumu ar pielikuma informāciju
$ message = "-" . $ atdalītājs . $ nl;
$ ziņojums .= "Content-Type: text / plain; charset =" iso-8859-1 "" . $ nl;
$ ziņojums .= "Satura pārsūtīšana-kodēšana: 8 biti" . $ nl;
$ ziņojums .= "Teksta fails ir pievienots e-pastam." . $ nl;
$ ziņojums .= "-" . $ atdalītājs . $ nl;
$ ziņojums .= "Content-Type: application / octet-stream; name =" " . $ faila nosaukums . "" " . $ nl;
$ ziņojums .= "Satura pārsūtīšana-kodēšana: base64" . $ nl;
$ ziņojums .= "Satura izvietošana: pielikums" . $ nl;
$ ziņojums .= $ saturs . $ nl;
$ ziņojums .= "-" . $ atdalītājs . "-";
// Iestatiet galvenes Satura tips
$ galvenes = 'MIME versija: 1.0 '.$ nl;
$ galvenes .= "No: [aizsargāts ar e-pastu]".$ nl;
$ galvenes .= "Atbildēt uz: [e-pasts aizsargāts]".$ nl;
$ galvenes .= "Satura tips: daudzdaļīgs / jaukts; robeža =" " . $ atdalītājs . "" " .$ nl;
// Sūtīt e-pastu, izmantojot ziņojumu pasta () funkciju
ja (pasts ($ uz, $ tēmu, $ ziņa, $ galvenes))
atbalss "E-pasts ir veiksmīgi nosūtīts ar pielikumu.\ r \ n ";
cits
atbalss "E-pasts nav nosūtīts. \ r \ n ";
?>
Šī skripta parādīšanās pēc skripta palaišanas no tīmekļa servera, ja funkcija mail () darbojas pareizi.
Šī pārbaude parādīsies, ja pārbaudīsit e-pasta adreses iesūtni, kas ir iestatīta kā saņēmēja e-pasta adrese.
Secinājums
PHP pastāv daudzi veidi, kā nosūtīt e-pastus. Pēc konfigurācijas iestatīšanas funkcija PHP mail () nedarbojas pareizi Ubuntu. Šī apmācība parāda nepieciešamās konfigurācijas un e-pasta ziņojumu sūtīšanas veidu, izmantojot PHP mail () funkciju.