Kuidas saata e-kirju kasutades PHP mail() funktsiooni
Mis on PHP-post?
PHP-post on sisseehitatud PHP-funktsioon, mida kasutatakse e-kirjade saatmiseks PHP-skriptidest.
Meilifunktsioon aktsepteerib järgmisi parameetreid:
- E-posti aadress
- Teema
- Sõnum
- CC või BC e-posti aadressid
- See on kulutõhus viis kasutajate teavitamiseks olulistest sündmustest.
- Lubage kasutajatel teiega e-posti teel ühendust võtta, esitades veebisaidil meiega kontaktivormi, mis saadab esitatud sisu meili teel.
- Arendajad saavad seda kasutada süsteemivigade e-posti teel vastuvõtmiseks
- Saate seda kasutada oma uudiskirja tellijatele e-kirjade saatmiseks.
- Saate seda kasutada parooli lähtestamise linkide saatmiseks kasutajatele, kes unustavad oma paroolid
- Saate seda kasutada aktiveerimis-/kinnituslinkide meili saatmiseks. See on kasulik kasutajate registreerimisel ja nende e-posti aadresside kinnitamisel
Miks/millal kasutada e-posti PHP-d
Kirjade saatmine PHP-ga
PHP meilifunktsioonil on järgmine põhisüntaks
<?php mail($to_email_address,$subject,$message,[$headers],[$parameters]); ?>
SIIN,
- "$to_email_address" on meili saaja e-posti aadress
- "$subject" on meili teema
- "$message" on sõnum, mis tuleb saata.
- „[$headers]” on valikuline, seda saab kasutada teabe, näiteks CC, BCC, lisamiseks
- CC on koopia koopia akronüüm. Seda kasutatakse juhul, kui soovite saata koopia huvitatud isikule, st ettevõttele saadetud kaebuse meili saab saata ka koopiana kaebuste komisjonile.
- BCC on pimekoopia akronüüm. See on sarnane CC-ga. BCC jaotises sisalduvaid e-posti aadresse teistele adressaatidele ei kuvata.
lihtne Mail Transmission Protokoll (SMTP)
PHP-mailer kasutab lihtsat Mail Transmission Protokoll (SMTP) kirjade saatmiseks.
Hostitud serveris oleksid SMTP-sätted juba määratud.
SMTP meiliseadeid saab konfigureerida PHP installikaustas olevast failist “php.ini”.
SMTP-sätete konfigureerimine kohalikus hostis Eeldades, et kasutate xampp-i Windowsis, leidke kataloogist "C:\xampp\php" fail "php.ini".
- Avage see märkmiku või mis tahes tekstiredaktoriga. Selles näites kasutame märkmikku. Klõpsake redigeerimismenüül
- Klõpsake menüül Otsi…
- Ilmub otsimise dialoogimenüü
- Klõpsake nuppu Otsi järgmine
- Otsige üles kirjed
- [posti funktsioon]
- ; XAMPP: Ärge eemaldage poolveergu, kui soovite töötada näiteks SMTP-serveriga Mercury
- ; SMTP = kohalik host
- ; smtp_port = 25
- Eemaldage semikoolonid enne SMTP-d ja smtp_porti ning määrake SMTP-ks oma smtp server ja port teie smtp-porti. Teie seaded peaksid välja nägema järgmised
- SMTP = smtp.example.com
- smtp_port = 25
- märkused SMTP-sätted saate oma veebimajutusteenuse pakkujatelt.
- Kui server nõuab autentimist, lisage järgmised read.
- auth_username = näide_kasutajanimi@example.com
- auth_password = näide_parool
- Salvestage uued muudatused.
- Restart Apache server.
PHP Mail Näide
Vaatame nüüd näidet, mis saadab lihtsa kirja.
<?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); ?>
Väljund:
Märge: ülaltoodud näide võtab ainult 4 kohustuslikku parameetrit.
Peaksite ülaltoodud fiktiivse e-posti aadressi asendama tõelise e-posti aadressiga.
E-posti kasutajate sisestuste desinfitseerimine
Ülaltoodud näites kasutatakse e-posti aadressi lähtekoodis kodeeritud väärtusi ja muid üksikasju lihtsuse huvides.
Oletame, et peate looma meiega kontaktivormi, et kasutajad saaksid andmed täita ja seejärel esitada.
- Kasutajad võivad kogemata või tahtlikult päistesse koodi sisestada, mille tulemuseks võib olla rämpsposti saatmine
- Süsteemi kaitsmiseks selliste rünnakute eest saate luua kohandatud funktsiooni, mis puhastab ja kinnitab väärtused enne kirja saatmist.
Loome kohandatud funktsiooni, mis kinnitab ja puhastab e-posti aadressi, kasutades sisseehitatud funktsiooni filter_var.
Funktsioon Filter_var Funktsiooni filter_var kasutatakse kasutaja sisendandmete puhastamiseks ja kinnitamiseks.
Sellel on järgmine põhisüntaks.
<?php filter_var($field, SANITIZATION TYPE); ?>
SIIN,
- „filter_var(…)” on valideerimis- ja desinfitseerimisfunktsioon
- "$field" on filtreeritava välja väärtus.
- „SANITSEERIMISE TÜÜP” on põllul tehtava desinfitseerimise tüüp, näiteks;
- FILTER_VALIDATE_EMAIL – see tagastab kehtivate e-posti aadresside puhul tõene ja valede e-posti aadresside puhul vale.
- FILTER_SANITIZE_EMAIL – see eemaldab e-posti aadressidelt ebaseaduslikud märgid. info\@domain.(com) tagastab info@domain.com.
- FILTER_SANITIZE_URL – see eemaldab URL-idelt ebaseaduslikud märgid. http://www.example@.comé tagastab >http://www.example@.com
- FILTER_SANITIZE_STRING – see eemaldab stringiväärtustelt sildid. olen julge, muutub julgeks.
Allolev kood kasutab turvaliste kirjade saatmiseks kohandatud funktsiooni.
<?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"; } ?>
Väljund:
Kindlustage Mail
Soovimatud saajad võivad e-kirju edastamise ajal pealt kuulata.
See võib soovimatutele adressaatidele avaldada meili sisu.
Turvaline post lahendab selle probleemi, edastades e-kirju HTTPS-i (Hypertext Transfer Protocol Secure) kaudu.
HTTPS krüpteerib sõnumid enne nende saatmist.
kokkuvõte
- . PHP sisseehitatud funktsiooni mail() kasutatakse kirjade saatmiseks PHP skriptidest
- Andmete kinnitamine ja desinfitseerimine on turvalise posti saatmiseks hädavajalikud
- PHP sisseehitatud funktsioon filter_var() pakub hõlpsasti kasutatavat ja tõhusat viisi andmete puhastamiseks ja kinnitamiseks