Hoe verzendt u Email PHP gebruiken mail() Functie

Wat is PHP mail?

PHP mail is de ingebouwde PHP-functie die wordt gebruikt om emails van PHP-scripts.

Het mail functie accepteert het volgendewing parameters:

  • E-mailadres
  • Onderwerp
  • Bericht
  • CC of BC email adressen

  • Het is een kosteneffectieve manier om gebruikers op de hoogte te stellen van belangrijke gebeurtenissen.
  • Laat gebruikers contact met u opnemen via email door een contactformulier op de website in te vullen dat emails de geleverde inhoud.
  • Ontwikkelaars kunnen het gebruiken om systeemfouten te ontvangen van email
  • Je kunt het gebruiken om bijvmail uw nieuwsbriefabonnees.
  • U kunt het gebruiken om links voor het opnieuw instellen van wachtwoorden te sturen naar gebruikers die hun wachtwoord vergeten zijn
  • Je kunt het gebruiken om bijvmail activerings-/bevestigingslinks. Dit is handig bij het registreren van gebruikers en het verifiëren van hun email adressen

Waarom/wanneer gebruik je de mail PHP

Verzending mail PHP gebruiken

Het PHP mail functie heeft het volgendewing basissyntaxis

<?php
mail($to_email_address,$subject,$message,[$headers],[$parameters]);
?>

HIER,

  • “$naar_email_adres” is de email adres van de mail recipiënt
  • “$onderwerp” is de email onderwerpen
  • “$message” is het bericht dat moet worden verzonden.
  • “[$headers]” is optioneel en kan worden gebruikt om informatie zoals CC en BCC op te nemen

    • CC is de afkorting voor carboncopy. Het wordt gebruikt wanneer u een kopie naar een geïnteresseerde persoon wilt sturen, bijvoorbeeld een klachtmail verzonden naar een bedrijf kan ook als CC naar de klachtencommissie worden verzonden.
    • BCC is de afkorting voor blinde carbonkopie. Het is vergelijkbaar met CC. De email adressen opgenomen in de BCC-sectie worden niet getoond aan de andere ontvangers.

Eenvoudig Mail Transmission Protocol (SMTP)

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

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

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

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

  • Open het met Kladblok of een andere teksteditor. In dit voorbeeld gebruiken we Kladblok. Klik op het bewerkingsmenu

Eenvoudig Mail Transmission Protocol

  • Klik op het menu Zoeken...

Eenvoudig Mail Transmission Protocol

  • Het zoekdialoogmenu verschijnt

Eenvoudig Mail Transmission Protocol

  • Klik op de knop Volgende zoeken

Eenvoudig Mail Transmission Protocol

  • Zoek de vermeldingen

    • [mail functie]
    • ; XAMPP: Verwijder de halve kolom niet als u met een SMTP-server zoals Mercury wilt werken
    • ; SMTP = localhost
    • ; smtp_poort = 25
    • Verwijder de puntkomma's vóór SMTP en smtp_port en stel de SMTP in op uw smtp-server en de poort naar uw smtp-poort. Uw instellingen zouden er als volgt uit moeten zien

      • SMTP = smtp.voorbeeld.com
      • smtp_poort = 25
      • Note De SMTP-instellingen kunt u opvragen bij uw webhostingproviders.
      • Als de server authenticatie vereist, voeg dan de following lijnen.

        • auth_gebruikersnaam = voorbeeld_gebruikersnaam@voorbeeld.com
        • auth_password = voorbeeld_wachtwoord
        • Sla de nieuwe wijzigingen op.
        • Herstart apache server.

PHP Mail Voorbeeld

Laten we nu eens kijken naar een voorbeeld dat een simple mail.

<?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);
?>

Output:

Eenvoudig Mail Transmission Protocol

Opmerking: In het bovenstaande voorbeeld zijn alleen de vier verplichte parameters opgenomen.

U dient de bovenstaande fictieve email adres met een echte email adres.

Ontsmetten email gebruikersinvoer

In het bovenstaande voorbeeld worden hardgecodeerde waarden gebruikt in de broncode voor de email adres en andere details voor eenvoud.

Laten we aannemen dat u een contactformulier moet maken, zodat gebruikers de de kunnen invullentails en dan indienen.

  • 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 vóór de mail is voelt.

Laten we een aangepaste functie maken die de email adres met behulp van de ingebouwde functie filter_var.

Functie Filter_var De functie filter_var wordt gebruikt om de invoergegevens van de gebruiker op te schonen en te valideren.

Het heeft de volgendewing basissyntaxis.

<?php
filter_var($field, SANITIZATION TYPE);
?>

HIER,

  • “filter_var(…)” is de validatie- en opschoningsfunctie
  • “$field” is de waarde van het veld dat moet worden gefilterd.
  • “SANITISATIETYPE” is het type ontsmetting dat op het veld moet worden uitgevoerd, zoals;

    • FILTER_VALIDATE_EMAIL – het retourneert waar voor geldige email adressen en false voor ongeldig email adressen.
    • FILTER_SANITIZE_EMAIL – het verwijdert illegale karakters uit email adressen. info\@domein.(com) retourneert info@domein.com.
    • FILTER_SANITIZE_URL – het verwijdert illegale tekens uit URL's. http://www.voorbeeld@.comé retourneert >http://www.voorbeeld@.com
    • FILTER_SANITIZE_STRING – het verwijdert tags uit tekenreekswaarden. ben stoutmoedig wordt ben stoutmoedig.

De onderstaande code implementeert een aangepaste functie om veilig te verzenden mail.

<?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";
}
?>

Output:

Ontsmetten email gebruikersinvoer

Veilig Bestellen Mail

Emails kunnen worden onderschept tijdens transmission door onbedoelde ontvangers.

Hierdoor kan de inhoud van de email aan onbedoelde ontvangers.

Veilig Bestellen mail lost dit probleem op door emails via Hypertext Transfer Protocol Secure (HTTPS).

HTTPS codeert berichten voordat ze worden verzonden.

Samengevat

  • Het PHP ingebouwde functie mail() wordt gebruikt om te verzenden mail van PHP-scripts
  • Validatie- en opschoningscontroles van de gegevens zijn essentieel voor een veilige verzending mail
  • De ingebouwde PHP-functie filter_var() biedt een eenvoudig te gebruiken en efficiënte manier om gegevens op te schonen en te valideren