php

Utilizarea funcției mail () în PHP pe Ubuntu

Utilizarea funcției mail () în PHP pe Ubuntu

Funcția mail () este o funcție PHP încorporată care este utilizată pentru a trimite e-mailuri de la localhost. Dar sunt necesare anumite configurații pentru a trimite e-mail folosind această funcție. Veți avea nevoie de informații reale despre serverul de e-mail pentru configurarea configurației. Puteți utiliza informațiile despre serverul de e-mail al serverului dvs. activ de găzduire sau puteți utiliza orice informații gratuite despre serverul de e-mail. Un cont Gmail și informațiile despre serverul SMTP ale Gmail sunt utilizate în acest tutorial pentru a trimite e-mailuri utilizând funcția mail ().

Configurare configurare

Două fișiere vor fi necesare pentru a modifica configurația: php.ini fișier și un alt fișier este necesar pentru a configura serverul de poștă electronică. Urmați pașii de mai jos pentru a configura configurația. Multe pachete sunt disponibile în PHP pentru trimiterea unui e-mail. msmtp este un client de server de mail PHP care este utilizat în acest tutorial pentru a trimite e-mailuri utilizând funcția PHP mail ().

Pași:

Rulați următoarea comandă pentru a instala fișierul msmtp pachet pe Ubuntu pentru a configura serverul de mail:

$ sudo apt-get install msmtp

Creați un fișier de configurare cu numele / etc / msmtprc cu următoarea comandă:

$ sudo nano / etc / msmtprc

Adăugați următorul conținut în fișier. Adăugați adresa de e-mail validă pentru utilizator și parola validă pentru parola care va fi folosit pentru a trimite un e-mail. Setați adresa de e-mail a expeditorului pentru formă valoare.

implicit
tls pe
tls_starttls on
tls_trust_file / etc / ssl / certs / ca-certificate.crt
implicit cont
gazdă smtp.gmail.com
portul 587
autentificare
nume de utilizator utilizator @ gmail.com
parola user_password
de la sender_email_address

Rulați următoarele comenzi pentru a seta proprietatea și permisiunea pentru / etc / msmtprc fișier:

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

Deschide php.ini fișier și modificați următorul conținut cu următoarele valori:

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

Sintaxă:

e-mail bool (șir $ către, șir $ subiect, șir $ mesaj [, mixte $ capetele_additionale [, șirul $ parametrii_aditional]])

Această funcție poate lua patru argumente. Primul argument ia adresa de e-mail a destinatarului. Al doilea argument ia subiectul e-mailului. Al treilea argument ia corpul e-mailului. Ultimul argument este opțional și conține informații suplimentare despre e-mail ca șir sau matrice.

Trimiterea e-mailului utilizând funcția mail ()

Diferite exemple de trimitere a unui e-mail folosind funcția mail () din PHP sunt prezentate în această secțiune a tutorialului.

Exemplul 1: trimiteți un e-mail text simplu

Acest exemplu arată cum poate fi trimis un e-mail text simplu utilizând funcția mail (). Creați un fișier PHP cu următorul script.

Trebuie să setați o adresă de e-mail validă pentru $ la variabilă pentru a obține rezultatul următorului script. Un text simplu este setat ca un corp de mesaj.

// Setați adresa de e-mail a destinatarului
$ to = "[e-mail protejat]";
// Setați subiectul e-mailului
$ subject = "Este un e-mail de testare";
// Setați corpul e-mailului
$ message = "Testează corpul e-mailului";
// Setați informațiile despre antet
$ headers = "From: [email protected] \ r \ n";
$ anteturi .= "Răspunde-la: [email protected] \ r \ n";
// Trimiteți e-mail utilizând funcția mesaj mail ()
if (mail ($ către, $ subiect, $ mesaj, $ antet))

echo "E-mailul a fost trimis cu succes.\ r \ n ";

altceva
ecou "E-mailul nu a fost trimis.
";

?>

Următoarea ieșire va apărea după rularea scriptului de pe serverul web dacă funcția mail () funcționează corect.


Următoarea ieșire va apărea dacă verificați căsuța de e-mail a adresei de e-mail care a fost setată ca adresă de e-mail a destinatarului.

Exemplul 2: trimiteți un e-mail formatat HTML

Acest exemplu arată cum poate fi trimis un e-mail formatat HTML utilizând funcția mail (). Creați un fișier PHP cu următorul script.

$ mesaj variabila este inițializată cu conținut HTML care va fi trimis ca un corp de e-mail. Este menționat în $ antet variabilă conform căreia conținutul e-mailului este HTML.

// Setați adresa de e-mail a destinatarului
$ to = "[e-mail protejat]";
// Setați subiectul e-mailului
$ subject = 'Înregistrare reușită';
// Setați corpul e-mailului
$ message = '

Înregistrarea dvs. este finalizată cu succes.


nume de utilizator = fahmida20

parola = aswQ34ghqw


';
// Setați returnarea căruței
$ nl = "\ r \ n";
// Setați antetul de tip Content
$ headers = 'Versiune MIME: 1.0 '.$ nl;
$ anteturi .= 'Tipul conținutului: text / html; charset = iso-8859-1 '.$ nl;
// Setați informațiile suplimentare despre anteturi
$ anteturi .= „Către: Mehrab Hossain”.$ nl;
$ anteturi .= 'De la: Administrator'.$ nl;
$ anteturi .= 'Cc: [e-mail protejat]'.$ nl;
// Trimiteți e-mail utilizând funcția mesaj mail ()
if (mail ($ către, $ subiect, $ mesaj, $ antet))
echo "E-mailul a fost trimis cu succes.\ r \ n ";

altceva
ecou "E-mailul nu a fost trimis. \ r \ n ";

?>

Următoarea ieșire va apărea după rularea scriptului de pe serverul web dacă funcția mail () funcționează corect.


Următoarea ieșire va apărea dacă verificați căsuța de e-mail a adresei de e-mail care a fost setată ca adresă de e-mail a destinatarului.

Exemplul 3: trimiteți un e-mail cu atașamentul

Acest exemplu arată cum poate fi trimis un e-mail prin atașarea unui fișier text. Creați un fișier text cu următorul script.

Conținutul fișierului text este citit și codat înainte de atașament și funcția md5 () este utilizată în script pentru a genera un număr aleatoriu pentru conținut mixt. Toate informațiile necesare sunt adăugate în $ anteturi și $ mesaj variabile înainte de a trimite e-mailul.

// Setați adresa de e-mail a destinatarului
$ to = "[e-mail protejat]";
// Setați subiectul e-mailului
$ subject = "Fișier atașat";
// Setați returnarea căruței
$ nl = "\ r \ n";
// Setați un hash aleatoriu care va fi utilizat pentru conținut mixt
$ separator = md5 (time ());
// Citiți conținutul fișierului atașat
$ filename = 'fișierul meu.txt';
$ content = file_get_contents ($ nume fișier);
$ content = chunk_split (base64_encode ($ content));
// Setați mesajul de e-mail cu informații despre atașament
$ message = "-" . $ separator . $ nl;
$ mesaj .= "Content-Type: text / plain; charset =" iso-8859-1 "" . $ nl;
$ mesaj .= "Codare-Transfer-Codificare: 8 biți" . $ nl;
$ mesaj .= "Un fișier text este atașat la e-mail." . $ nl;
$ mesaj .= "-" . $ separator . $ nl;
$ mesaj .= "Content-Type: application / octet-stream; name =" " . $ nume de fișier . "" " . $ nl;
$ mesaj .= "Codare-Transfer-Codificare: bază64" . $ nl;
$ mesaj .= "Dispunere de conținut: atașament" . $ nl;
$ mesaj .= $ conținut . $ nl;
$ mesaj .= "-" . $ separator . „-”;
// Setați antetul de tip Content
$ headers = 'Versiune MIME: 1.0 '.$ nl;
$ anteturi .= "De la: [email protected]".$ nl;
$ anteturi .= "Răspunde-la: [e-mail protejat]".$ nl;
$ anteturi .= "Tipul de conținut: multipart / mixt; border =" " . $ separator . "" " .$ nl;
// Trimiteți e-mail utilizând funcția mesaj mail ()
if (mail ($ către, $ subiect, $ mesaj, $ antet))
echo "E-mailul a fost trimis cu atașament cu succes.\ r \ n ";

altceva
ecou "E-mailul nu a fost trimis. \ r \ n ";

?>

Următoarea ieșire va apărea după rularea scriptului de pe serverul web dacă funcția mail () funcționează corect.


Următoarea ieșire va apărea dacă verificați căsuța de e-mail a adresei de e-mail care a fost setată ca adresă de e-mail a destinatarului.

Concluzie

Există multe modalități în PHP de a trimite e-mailuri. Funcția PHP mail () nu funcționează corect pe Ubuntu după setarea configurației. Acest tutorial arată configurațiile necesare și modul de trimitere a e-mailurilor utilizând funcția PHP mail ().

Battle For Wesnoth 1.13.6 Development Released
Battle For Wesnoth 1.13.6 released last month, is the sixth development release in the 1.13.x series and it delivers a number of improvements, most no...
Cum se instalează League Of Legends pe Ubuntu 14.04
Dacă ești fan al League of Legends, atunci aceasta este o oportunitate pentru tine de a testa rula League of Legends. Rețineți că LOL este acceptat pe...
Instalați cel mai recent joc de strategie OpenRA pe Ubuntu Linux
OpenRA este un motor de jocuri de strategie în timp real Libre / Free care recreează primele jocuri Westwood, cum ar fi clasicul Command & Conquer: Re...