Ako posielať e-maily pomocou funkcie PHP mail ()

Obsah:

Anonim

Čo je to pošta PHP?

Pošta PHP je zabudovaná funkcia PHP, ktorá sa používa na odosielanie e-mailov zo skriptov PHP.

Funkcia pošty akceptuje nasledujúce parametre;

  • Emailová adresa
  • Predmet
  • Správa
  • E-mailové adresy CC alebo BC
    • Je to nákladovo efektívny spôsob upozorňovania používateľov na dôležité udalosti.
    • Umožnite používateľom kontaktovať vás prostredníctvom e-mailu poskytnutím kontaktného formulára na webe, ktorý odošle e-mail s poskytnutým obsahom.
    • Vývojári ho môžu využiť na prijímanie systémových chýb e-mailom
    • Môžete ho použiť na zaslanie e-mailu vašim predplatiteľom bulletinu.
    • Môžete ho použiť na zasielanie odkazov na obnovenie hesla používateľom, ktorí zabudli svoje heslá
    • Môžete ho použiť na zaslanie odkazov na aktiváciu / potvrdenie e-mailom. To je užitočné pri registrácii používateľov a overovaní ich e-mailových adries

V tomto návode sa naučíte

  • Prečo / kedy používať poštu PHP
  • Jednoduchý protokol na prenos pošty
  • Sanitácia vstupov používateľov e-mailu
  • Zabezpečená pošta

Prečo / kedy používať poštu PHP

Posielanie pošty pomocou PHP

Funkcia pošty PHP má nasledujúcu základnú syntax

TU,

  • „$ To_email_address“ je e-mailová adresa príjemcu pošty
  • „$ Subject“ je predmet e-mailu
  • „$ Message“ je správa, ktorá sa má odoslať.
  • „[$ Headers]“ je voliteľné, je možné ho použiť na zahrnutie informácií ako CC, BCC
    • CC je skratka pre kópiu. Používa sa, keď chcete poslať kópiu zainteresovanej osobe, tj. E-mail so sťažnosťou zaslaný spoločnosti je možné tiež poslať ako CC komisii pre sťažnosti.
    • BCC je skratka pre slepú kópiu. Je to podobné ako s CC. E-mailové adresy zahrnuté v sekcii BCC sa ostatným príjemcom nezobrazia.

Protokol jednoduchého prenosu pošty (SMTP)

Poštový server PHP používa na odosielanie pošty protokol Simple Mail Transmission Protocol (SMTP).

Na hosťovanom serveri by už boli nastavenia SMTP nastavené.

Nastavenia pošty SMTP je možné konfigurovať zo súboru „php.ini“ v inštalačnom priečinku PHP.

Konfigurácia nastavení SMTP na vašom localhost Za predpokladu, že používate xampp na Windows, vyhľadajte „php.ini“ v adresári „C: \ xampp \ php“.

  • Otvorte ho pomocou poznámkového bloku alebo ľubovoľného textového editora. V tomto príklade použijeme poznámkový blok. Kliknite na ponuku úprav

  • Kliknite na ponuku Nájsť ...

  • Zobrazí sa dialógové okno vyhľadávania

  • Kliknite na tlačidlo Nájsť ďalšie

  • Vyhľadajte položky
    • [funkcia pošty]
    • ; XAMPP: Neodstraňujte semifinále, ak chcete pracovať so serverom SMTP, ako je Mercury
    • ; SMTP = localhost
    • ; smtp_port = 25
    • Odstráňte bodkočiarky pred SMTP a smtp_port a nastavte SMTP na váš smtp server a port na váš smtp port. Vaše nastavenia by mali vyzerať nasledovne
      • SMTP = smtp.example.com
      • smtp_port = 25
      • Upozorňujeme, že nastavenia protokolu SMTP získate od poskytovateľov webhostingu.
      • Ak server vyžaduje autentifikáciu, pridajte nasledujúce riadky.
        • auth_username = Táto e-mailová adresa je chránená pred spamovacími robotmi. Ak ju chcete vidieť, musíte mať povolený JavaScript.
        • auth_password = priklad_heslo
        • Uložte nové zmeny.
        • Reštartujte server Apache.

Príklad pošty Php

Pozrime sa teraz na príklad, ktorý odosiela jednoduchú poštu.

Výkon:

Poznámka: Vyššie uvedený príklad berie iba 4 povinné parametre.

Vyššie uvedenú fiktívnu e-mailovú adresu by ste mali nahradiť skutočnou e-mailovou adresou.

Sanitácia vstupov používateľov e-mailu

Vyššie uvedený príklad používa v zdrojovom kóde pevne napísané hodnoty pre e-mailovú adresu a ďalšie podrobnosti pre zjednodušenie.

Predpokladajme, že musíte vytvoriť kontaktný formulár pre používateľov, vyplniť podrobnosti a potom odoslať.

  • Používatelia môžu omylom alebo zámerne vložiť kód do hlavičiek, čo môže mať za následok zasielanie nevyžiadanej pošty
  • Aby ste chránili svoj systém pred takýmito útokmi, môžete si vytvoriť vlastnú funkciu, ktorá sanitizuje a overí hodnoty pred odoslaním pošty.

Vytvorme si vlastnú funkciu, ktorá overí a dezinfikuje e-mailovú adresu pomocou zabudovanej funkcie filter_var.

Funkcia Filter_var Funkcia filter_var sa používa na sanitáciu a validáciu vstupných údajov používateľa.

Má nasledujúcu základnú syntax.

TU,

  • „Filter_var (...)“ je funkcia overovania a dezinfekcie
  • „$ Pole“ je hodnota poľa, ktoré sa má filtrovať.
  • „TYP SANITIZÁCIE“ je typ sanitácie, ktorá sa má vykonať na poli, ako napríklad;
    • FILTER_VALIDATE_EMAIL - vráti hodnotu true pre platné e-mailové adresy a hodnotu false pre neplatné e-mailové adresy.
    • FILTER_SANITIZE_EMAIL - odstráni nedovolené znaky z e-mailových adries. info \ @domain. (com) returns Táto e-mailová adresa je chránená pred spamovacími robotmi. Ak ju chcete vidieť, musíte mať povolený JavaScript.…
    • FILTER_SANITIZE_URL - odstráni nedovolené znaky z adries URL. http: //[email protected]é vráti> http: //[email protected]
    • FILTER_SANITIZE_STRING - odstráni značky z hodnôt reťazca. Položka am bold sa zmení na tučné písmo.

Nasledujúci kód implementuje používa vlastnú funkciu na odosielanie zabezpečenej pošty.

Výkon:

Zabezpečená pošta

E-maily môžu byť počas prenosu zachytené nechcenými príjemcami.

Môže to vystaviť obsah e-mailu neúmyselným príjemcom.

Zabezpečená pošta tento problém rieši prenosom e-mailov prostredníctvom protokolu Hypertext Transfer Protocol Secure (HTTPS).

Protokol HTTPS šifruje správy pred ich odoslaním.

Zhrnutie

  • Na odosielanie pošty zo skriptov PHP sa používa zabudovaná funkcia PHP mail ()
  • Overenie a dezinfekčné kontroly údajov sú nevyhnutné pre zasielanie zabezpečenej pošty
  • PHP zabudovaná funkcia filter_var () poskytuje ľahko použiteľný a efektívny spôsob vykonávania dezinfekcie a validácie údajov