Kako poslati e-poštu koristeći PHP mail() funkciju
Što je PHP pošta?
PHP pošta je ugrađena PHP funkcija koja se koristi za slanje e-pošte iz PHP skripti.
Funkcija pošte prihvaća sljedeće parametre:
- Adresa e-pošte
- Predmet
- Poruka
- CC ili BC adrese e-pošte
- To je isplativ način obavještavanja korisnika o važnim događajima.
- Omogućite korisnicima da vas kontaktiraju putem e-pošte tako što ćete na web stranici poslati obrazac za kontakt koji šalje navedeni sadržaj e-poštom.
- Programeri ga mogu koristiti za primanje grešaka sustava putem e-pošte
- Možete ga koristiti za slanje e-pošte svojim pretplatnicima na newsletter.
- Možete ga koristiti za slanje veza za poništavanje lozinke korisnicima koji zaborave svoje lozinke
- Možete ga koristiti za slanje poveznica za aktivaciju/potvrdu e-poštom. Ovo je korisno prilikom registracije korisnika i provjere njihovih adresa e-pošte
Zašto/kada koristiti mail PHP
Slanje pošte pomoću PHP-a
PHP funkcija pošte ima sljedeću osnovnu sintaksu
<?php mail($to_email_address,$subject,$message,[$headers],[$parameters]); ?>
OVDJE,
- “$to_email_address” je adresa e-pošte primatelja pošte
- “$subject” je predmet e-pošte
- “$message” je poruka koju treba poslati.
- “[$headers]” nije obavezan, može se koristiti za uključivanje informacija kao što su CC, BCC
- CC je akronim za carbon copy. Koristi se kada želite poslati kopiju zainteresiranoj osobi, tj. e-pošta s pritužbom poslana tvrtki može se također poslati kao CC odboru za pritužbe.
- BCC je akronim za slijepu kopiju. Slično je CC-u. Adrese e-pošte uključene u BCC odjeljak neće biti prikazane drugim primateljima.
Jednostavan Mail Transmission Protokol (SMTP)
PHP mailer koristi Simple Mail Transmission Protokol (SMTP) za slanje pošte.
Na hostiranom poslužitelju SMTP postavke bi već bile postavljene.
Postavke SMTP pošte mogu se konfigurirati iz datoteke “php.ini” u PHP instalacijskoj mapi.
Konfiguriranje SMTP postavki na vašem lokalnom hostu Pod pretpostavkom da koristite xampp na Windowsima, pronađite “php.ini” u direktoriju “C:\xampp\php”.
- Otvorite ga pomoću bilježnice ili bilo kojeg uređivača teksta. U ovom primjeru ćemo koristiti notepad. Kliknite na izbornik za uređivanje
- Pritisnite izbornik Pronađi…
- Pojavit će se dijaloški izbornik traženja
- Pritisnite gumb Pronađi sljedeće
- Pronađite unose
- [funkcija pošte]
- ; XAMPP: Nemojte uklanjati polustupac ako želite raditi sa SMTP poslužiteljem kao što je Mercury
- ; SMTP = lokalni host
- ; smtp_port = 25
- Uklonite točke zareze ispred SMTP i smtp_port i postavite SMTP na svoj smtp poslužitelj i port na vaš smtp port. Vaše postavke bi trebale izgledati ovako
- SMTP = smtp.example.com
- smtp_port = 25
- bilješke SMTP postavke možete dobiti od svojih pružatelja web hostinga.
- Ako poslužitelj zahtijeva provjeru autentičnosti, dodajte sljedeće retke.
- auth_username = example_username@example.com
- auth_password = primjer_lozinke
- Spremite nove promjene.
- Restart apaš poslužitelj.
PHP Mail Primjer
Pogledajmo sada primjer koji šalje jednostavnu poštu.
<?php $to_email = 'name @ company . com'; $subject = 'Testing PHP Mail'; $message = 'This mail is sent using the PHP mail function'; $headers = 'From: noreply @ company . com'; mail($to_email,$subject,$message,$headers); ?>
Izlaz:
Bilješka: gornji primjer uzima samo 4 obvezna parametra.
Trebali biste zamijeniti gornju fiktivnu adresu e-pošte stvarnom adresom e-pošte.
Čišćenje korisničkih unosa e-pošte
Gornji primjer koristi tvrdo kodirane vrijednosti u izvornom kodu za adresu e-pošte i druge detalje radi jednostavnosti.
Pretpostavimo da morate izraditi obrazac za kontakt kako bi korisnici ispunili pojedinosti i zatim ga poslali.
- Korisnici mogu slučajno ili namjerno ubaciti kod u zaglavlja što može rezultirati slanjem neželjene pošte
- Kako biste zaštitili svoj sustav od takvih napada, možete stvoriti prilagođenu funkciju koja čisti i provjerava vrijednosti prije slanja e-pošte.
Kreirajmo prilagođenu funkciju koja provjerava i čisti adresu e-pošte pomoću ugrađene funkcije filter_var.
Funkcija Filter_var Funkcija filter_var koristi se za čišćenje i provjeru valjanosti korisničkih ulaznih podataka.
Ima sljedeću osnovnu sintaksu.
<?php filter_var($field, SANITIZATION TYPE); ?>
OVDJE,
- “filter_var(…)” je funkcija provjere valjanosti i dezinfekcije
- “$field” je vrijednost polja koje se filtrira.
- "VRSTA SANITIZACIJE" je vrsta sanitizacije koja se provodi na terenu, kao što su;
- FILTER_VALIDATE_EMAIL – vraća true za važeće adrese e-pošte i false za nevažeće adrese e-pošte.
- FILTER_SANITIZE_EMAIL – uklanja nedopuštene znakove iz adresa e-pošte. info\@domain.(com) vraća info@domain.com.
- FILTER_SANITIZE_URL – uklanja nedopuštene znakove iz URL-ova. http://www.example@.comé vraća >http://www.example@.com
- FILTER_SANITIZE_STRING – uklanja oznake iz vrijednosti niza. am bold postaje sam bold.
Kod u nastavku koristi prilagođenu funkciju za slanje sigurne pošte.
<?php function sanitize_my_email($field) { $field = filter_var($field, FILTER_SANITIZE_EMAIL); if (filter_var($field, FILTER_VALIDATE_EMAIL)) { return true; } else { return false; } } $to_email = 'name @ company . com'; $subject = 'Testing PHP Mail'; $message = 'This mail is sent using the PHP mail '; $headers = 'From: noreply @ company. com'; //check if the email address is invalid $secure_check $secure_check = sanitize_my_email($to_email); if ($secure_check == false) { echo "Invalid input"; } else { //send email mail($to_email, $subject, $message, $headers); echo "This email is sent using PHP Mail"; } ?>
Izlaz:
Osigurati Mail
Nenamjerni primatelji mogu presresti elektroničku poštu tijekom prijenosa.
To može izložiti sadržaj e-pošte neželjenim primateljima.
Sigurna pošta rješava ovaj problem prijenosom e-pošte putem Hypertext Transfer Protocol Secure (HTTPS).
HTTPS kriptira poruke prije slanja.
rezime
- Korištenje električnih romobila ističe PHP ugrađena funkcija mail() koristi se za slanje pošte iz PHP skripti
- Provjere valjanosti i dezinfekcije podataka ključne su za slanje sigurne pošte
- Funkcija filter_var() ugrađena u PHP pruža jednostavan za korištenje i učinkovit način izvođenja sanacije i provjere podataka