Jak posílat e-maily pomocí funkce PHP mail ()

Obsah:

Anonim

Co je to pošta PHP?

Pošta PHP je integrovaná funkce PHP, která se používá k odesílání e-mailů ze skriptů PHP.

Funkce pošty přijímá následující parametry;

  • Emailová adresa
  • Předmět
  • Zpráva
  • E-mailové adresy CC nebo BC
    • Je to nákladově efektivní způsob upozorňování uživatelů na důležité události.
    • Umožněte uživatelům kontaktovat vás e-mailem poskytnutím kontaktního formuláře na webu, který zasílá e-mailem poskytnutý obsah.
    • Vývojáři jej mohou použít k přijímání systémových chyb e-mailem
    • Můžete jej použít k zaslání e-mailu odběratelům zpravodaje.
    • Můžete jej použít k odeslání odkazů na resetování hesla uživatelům, kteří zapomenou svá hesla
    • Můžete jej použít k odeslání aktivačních / potvrzovacích odkazů e-mailem. To je užitečné při registraci uživatelů a ověřování jejich e-mailových adres

V tomto výukovém programu se naučíte

  • Proč / kdy používat poštu PHP
  • Jednoduchý protokol pro přenos pošty
  • Sanitace e-mailových vstupů uživatelů
  • Zabezpečená pošta

Proč / kdy používat poštu PHP

Odesílání pošty pomocí PHP

Funkce pošty PHP má následující základní syntaxi

TADY,

  • „$ To_email_address“ je e-mailová adresa příjemce pošty
  • „$ Subject“ je předmět e-mailu
  • „$ Message“ je zpráva, která má být odeslána.
  • „[$ Headers]“ je volitelné, lze jej použít k zahrnutí informací jako CC, BCC
    • CC je zkratka pro kopii. Používá se, když chcete zaslat kopii zainteresované osobě, tj. E-mail se stížností zaslaný společnosti lze také zaslat jako CC na stížnost.
    • BCC je zkratka pro slepou kopii. Je to podobné jako u CC. E-mailové adresy obsažené v sekci BCC se ostatním příjemcům nezobrazí.

Protokol jednoduchého přenosu pošty (SMTP)

Poštovní server PHP používá k odesílání pošty protokol SMTP (Simple Mail Transmission Protocol).

Na hostovaném serveru by nastavení SMTP již bylo nastaveno.

Nastavení pošty SMTP lze konfigurovat ze souboru „php.ini“ v instalační složce PHP.

Konfigurace nastavení SMTP na vašem localhost Za předpokladu, že používáte xampp v systému Windows, vyhledejte „php.ini“ v adresáři „C: \ xampp \ php“.

  • Otevřete jej pomocí poznámkového bloku nebo libovolného textového editoru. V tomto příkladu použijeme poznámkový blok. Klikněte na nabídku úprav

  • Klikněte na nabídku Najít…

  • Objeví se dialogové okno hledání

  • Klikněte na tlačítko Najít další

  • Vyhledejte položky
    • [funkce pošty]
    • ; XAMPP: Neodstraňujte sloupec, pokud chcete pracovat se serverem SMTP, jako je Mercury
    • ; SMTP = localhost
    • ; smtp_port = 25
    • Odeberte středníky před SMTP a smtp_port a nastavte SMTP na váš smtp server a port na váš smtp port. Vaše nastavení by mělo vypadat následovně
      • SMTP = smtp.example.com
      • smtp_port = 25
      • Nastavení SMTP lze získat od poskytovatelů webhostingu.
      • Pokud server vyžaduje ověření, přidejte následující řádky.
        • auth_username = Tato e-mailová adresa je chráněna před spamboty. Abyste ji mohli zobrazit, musíte mít povolený JavaScript.
        • auth_password = příklad_heslo
        • Uložte nové změny.
        • Restartujte server Apache.

Příklad php pošty

Podívejme se nyní na příklad, který posílá jednoduchou poštu.

Výstup:

Poznámka: výše uvedený příklad přebírá pouze 4 povinné parametry.

Výše uvedenou fiktivní e-mailovou adresu byste měli nahradit skutečnou e-mailovou adresou.

Sanitace e-mailových vstupů uživatelů

Výše uvedený příklad používá ve zdrojovém kódu pevně zakódované hodnoty pro e-mailovou adresu a další podrobnosti pro zjednodušení.

Předpokládejme, že musíte vytvořit kontaktní formulář pro uživatele, vyplnit podrobnosti a poté odeslat.

  • Uživatelé mohou omylem nebo úmyslně vložit kód do záhlaví, což může vést k odesílání nevyžádané pošty
  • Chcete-li chránit svůj systém před takovými útoky, můžete vytvořit vlastní funkci, která před odesláním pošty dezinfikuje a ověří hodnoty.

Vytvořme si vlastní funkci, která ověří a dezinfikuje e-mailovou adresu pomocí zabudované funkce filter_var.

Funkce Filter_var Funkce filter_var se používá k sanitaci a ověření vstupních dat uživatele.

Má následující základní syntaxi.

TADY,

  • „Filter_var (…)“ je funkce ověřování a dezinfekce
  • „$ Pole“ je hodnota pole, které má být filtrováno.
  • „TYP SANITIZACE“ je typ sanitace, která se má provádět na poli, například;
    • FILTER_VALIDATE_EMAIL - vrací true pro platné e-mailové adresy a false pro neplatné e-mailové adresy.
    • FILTER_SANITIZE_EMAIL - odstraní nepovolené znaky z e-mailových adres. info \ @domain. (com) vrátí Tato e-mailová adresa je chráněna před spamboty. Abyste ji mohli zobrazit, musíte mít povolený JavaScript ...
    • FILTER_SANITIZE_URL - odstraní nepovolené znaky z adres URL. vrací http: //[email protected]é> http: //[email protected]
    • FILTER_SANITIZE_STRING - odstraní značky z hodnot řetězce. Z možnosti jsem tučně se stane tučně.

Následující kód implementuje používá vlastní funkci k odesílání zabezpečené pošty.

Výstup:

Zabezpečená pošta

E-maily mohou být během přenosu zachyceny nechtěnými příjemci.

To může vystavit obsah e-mailu nechtěným příjemcům.

Zabezpečená pošta tento problém řeší přenosem e-mailů pomocí protokolu Hypertext Transfer Protocol Secure (HTTPS).

HTTPS šifruje zprávy před jejich odesláním.

souhrn

  • Funkce PHP () zabudovaná do funkce mail () se používá k odesílání pošty ze skriptů PHP
  • Ověřovací a dezinfekční kontroly údajů jsou pro odesílání zabezpečené pošty zásadní
  • Funkce PHP zabudovaná do filtru () poskytuje snadno použitelný a efektivní způsob provádění sanitace a validace dat