E-mail verzenden met de PHP-functie mail ()

Inhoudsopgave:

Anonim

Wat is PHP-mail?

PHP-mail is de ingebouwde PHP-functie die wordt gebruikt om e-mails te verzenden vanuit PHP-scripts.

De mailfunctie accepteert de volgende parameters;

  • E-mailadres
  • Onderwerpen
  • Bericht
  • CC- of BC-e-mailadressen
    • Het is een kosteneffectieve manier om gebruikers op de hoogte te stellen van belangrijke gebeurtenissen.
    • Laat gebruikers contact met u opnemen via e-mail door een contactformulier op de website te plaatsen dat de verstrekte inhoud e-mailt.
    • Ontwikkelaars kunnen het gebruiken om systeemfouten per e-mail te ontvangen
    • U kunt het gebruiken om uw nieuwsbriefabonnees te e-mailen.
    • U kunt het gebruiken om links voor het opnieuw instellen van wachtwoorden te verzenden naar gebruikers die hun wachtwoord zijn vergeten
    • U kunt het gebruiken om activerings- / bevestigingslinks te e-mailen. Dit is handig bij het registreren van gebruikers en het verifiëren van hun e-mailadressen

In deze tutorial leer je-

  • Waarom / wanneer de PHP-mail gebruiken
  • Eenvoudig e-mailverzendingsprotocol
  • Invoer van e-mailgebruikers opschonen
  • Beveiligde e-mail

Waarom / wanneer de e-mail PHP

E-mail verzenden met PHP

De PHP-mailfunctie heeft de volgende basissyntaxis

HIER,

  • "$ To_email_address" is het e-mailadres van de e-mailontvanger
  • "$ Subject" is het onderwerp van de e-mail
  • "$ Message" is het te verzenden bericht.
  • "[$ Headers]" is optioneel, het kan worden gebruikt om informatie op te nemen zoals CC, BCC
    • CC is de afkorting voor carbon copy. Het wordt gebruikt wanneer u een kopie naar een geïnteresseerde wilt sturen. Een e-mail met een klacht naar een bedrijf kan bijvoorbeeld ook als CC naar de klachtencommissie worden gestuurd.
    • BCC is de afkorting voor blind carbon copy. Het is vergelijkbaar met CC. De e-mailadressen die in de BCC-sectie zijn opgenomen, worden niet aan de andere ontvangers getoond.

Simple Mail Transmission Protocol (SMTP)

PHP-mailer gebruikt Simple Mail Transmission Protocol (SMTP) om e-mail te verzenden.

Op een gehoste server zouden de SMTP-instellingen al zijn ingesteld.

De SMTP-mailinstellingen kunnen worden geconfigureerd vanuit het “php.ini” -bestand in de PHP-installatiemap.

SMTP-instellingen configureren op uw localhost Ervan uitgaande dat u xampp op Windows gebruikt, zoek dan “php.ini” in de directory “C: \ xampp \ php”.

  • Open het met kladblok of een teksteditor. In dit voorbeeld zullen we kladblok gebruiken. Klik op het menu Bewerken

  • Klik op het menu Zoeken…

  • Het dialoogvenster Zoeken zal verschijnen

  • Klik op de knop Volgende zoeken

  • Zoek de vermeldingen
    • [mailfunctie]
    • ​ XAMPP: verwijder de halve kolom niet als u met een SMTP-server zoals Mercury wilt werken
    • ​ SMTP = localhost
    • ​ smtp_port = 25
    • Verwijder de puntkomma's voor SMTP en smtp_port en stel de SMTP in op je smtp-server en de poort op je smtp-poort. Uw instellingen zouden er als volgt uit moeten zien
      • SMTP = smtp.voorbeeld.com
      • smtp_port = 25
      • Merk op dat de SMTP-instellingen kunnen worden verkregen van uw webhostingproviders.
      • Als de server authenticatie vereist, voeg dan de volgende regels toe.
        • auth_username = Dit e-mailadres wordt beschermd tegen spambots. JavaScript moet ingeschakeld zijn om het te kunnen bekijken.
        • auth_password = voorbeeld_wachtwoord
        • Sla de nieuwe wijzigingen op.
        • Start de Apache-server opnieuw.

Php Mail Voorbeeld

Laten we nu eens kijken naar een voorbeeld dat een eenvoudige e-mail verstuurt.

Uitgang:

Opmerking: het bovenstaande voorbeeld neemt alleen de 4 verplichte parameters.

U dient het bovenstaande fictieve e-mailadres te vervangen door een echt e-mailadres.

Invoer van e-mailgebruikers opschonen

Het bovenstaande voorbeeld gebruikt hard gecodeerde waarden in de broncode voor het e-mailadres en andere details voor de eenvoud.

Laten we aannemen dat u een contactformulier moet maken voor gebruikers die de details invullen en vervolgens verzenden.

  • Gebruikers kunnen per ongeluk of opzettelijk code in de headers injecteren, wat kan resulteren in het verzenden van spam-mail
  • Om uw systeem tegen dergelijke aanvallen te beschermen, kunt u een aangepaste functie maken die de waarden opschoont en valideert voordat de e-mail wordt verzonden.

Laten we een aangepaste functie maken die het e-mailadres valideert en opschoont met de ingebouwde functie filter_var.

Filter_var-functie De filter_var-functie wordt gebruikt om de gebruikersinvoergegevens op te schonen en te valideren.

Het heeft de volgende basissyntaxis.

HIER,

  • "Filter_var (…)" is de validatie- en opschoningsfunctie
  • "$ Field" is de waarde van het veld dat moet worden gefilterd.
  • "SANITISERINGSTYPE" is het type desinfectie dat op het veld moet worden uitgevoerd, zoals;
    • FILTER_VALIDATE_EMAIL - het retourneert true voor geldige e-mailadressen en false voor ongeldige e-mailadressen.
    • FILTER_SANITIZE_EMAIL - het verwijdert illegale tekens uit e-mailadressen. info \ @domain. (com) retourneert Dit e-mailadres is beschermd tegen spambots. JavaScript moet ingeschakeld zijn om het te bekijken ...
    • FILTER_SANITIZE_URL - het verwijdert illegale tekens uit URL's. http: //[email protected]é retourneert> http: //[email protected]
    • FILTER_SANITIZE_STRING - het verwijdert tags uit stringwaarden . vetgedrukt wordt vetgedrukt.

De onderstaande code implementeert een aangepaste functie om beveiligde e-mail te verzenden.

Uitgang:

Beveiligde e-mail

E-mails kunnen tijdens verzending worden onderschept door onbedoelde ontvangers.

Hierdoor kan de inhoud van de e-mail worden blootgesteld aan onbedoelde ontvangers.

Beveiligde mail lost dit probleem op door e-mails te verzenden via Hypertext Transfer Protocol Secure (HTTPS).

HTTPS versleutelt berichten voordat ze worden verzonden.

Overzicht

  • De in PHP ingebouwde functie mail () wordt gebruikt om e-mail te verzenden vanuit PHP-scripts
  • Validatie- en opschoningscontroles van de gegevens zijn essentieel voor het verzenden van beveiligde post
  • De in PHP ingebouwde functie filter_var () biedt een gebruiksvriendelijke en efficiënte manier om gegevensopschoning en validatie uit te voeren