Hoe email verzenden via PHP mail() Functie
Wat is PHP mail?
PHP mail is de ingebouwde PHP functie die wordt gebruikt om emails van PHP scripts te verzenden.
De emailfunctie accepteert de volgende parameters;
- Emailadres
- Onderwerpen
- Bericht
- CC of BC emailadressen
- Het is een kosteneffectieve manier om gebruikers op belangrijke gebeurtenissen op de hoogte te stellen.
- Laat gebruikers contact met u opnemen via email door een contactformulier op te sturen op de website die de verstrekte inhoud emailt.
- Ontwikkelaars kunnen het gebruiken om systeemfouten per email te ontvangen
- U kunt het gebruiken om uw nieuwsbriefabonnees te emailen.
- U kunt het gebruiken om links voor wachtwoordherstel te verzenden naar gebruikers die hun wachtwoord vergeten
- U kunt het gebruiken om activerings / bevestigingslinks te emailen. Dit is handig bij het registreren van gebruikers en het verifiëren van hun emailadressen
In deze tutorial leer je:
Email verzenden met PHP
De PHP mailfunctie heeft de volgende basissyntaxis
<? Php
mail($to_email_address,$subject,$bericht,[$headers],[$parameters]);
?>
- "$to_email_address" is het emailadres van de emailontvanger
- "$subject" is het onderwerp van de email
- "$bericht" is het bericht dat moet worden verzonden.
- "[$headers]" is optioneel, het kan worden gebruikt om informatie zoals CC, BCC op te nemen
- CC is het acroniem voor carbon copy. Het wordt gebruikt wanneer u een kopie naar een geïnteresseerde persoon wilt verzenden, dat wil zeggen dat een klacht email die naar een bedrijf wordt verzonden, ook als CC naar de klachtencommissie kan worden verzonden.
- BCC is het afkorting voor blind carbon copy. Het is vergelijkbaar met CC. De email adressen in de BCC sectie worden niet getoond aan de andere ontvangers.
Simple Transmission Protocol (SMTP)
PHP mailer gebruikt Simple Mail Transmission Protocol (SMTP) om email te verzenden.
Op een gehoste server zijn de SMTP instellingen al ingesteld.
De SMTP mailinstellingen kunnen worden geconfigureerd vanuit het bestand "php.ini" in de PHP installatiemap.
SMTP instellingen op uw localhost configureren. Stel dat u xampp op Windows gebruikt, zoek "php.ini" in de map "C:\xampp\php".
- Open het met kladblok of een teksteditor. In dit voorbeeld gebruiken we Kladblok. Klik op het bewerkingsmenu

- Klik op Zoeken ... menu

- Het zoek dialoogmenu verschijnt

- Klik op de knop Volgende zoeken

- Lokaliseer de invoer
- [mailfunctie]
- ; XAMPP: Verwijder de semi-kolom niet als u met een SMTP-server zoals Mercury wilt werken
- ; SMTP = localhost
- ; smtp_port = 25
- Verwijder de ; vóór SMTP en smtp_port en stel de SMTP in op uw smtp server en de poort op uw smtp poort. Uw instellingen moeten er als volgt uitzien
- SMTP = smtp.example.com
- smtp_port = 25
- Let op de SMTP instellingen kunnen worden verkregen van uw webhostingproviders.
- Als de server verificatie vereist, voegt u de volgende regels toe.
- auth_username = example_username@example.com
- auth_password = example_password
- Sla de nieuwe wijzigingen op.
- Start de Apache server opnieuw op.
Php Mail voorbeeld
Laten we nu kijken naar een voorbeeld dat een eenvoudige email verzendt.
<? Php
$to_email = 'naam@bedrijf.com ';
$subject = 'PHP Mail testen';
$message = 'Deze mail wordt verzonden met behulp van de PHP mail functie';
$headers = 'Van: noreply@bedrijf.com';
mail($to_email,$subject,$bericht,$headers);
?>
Output:
Opmerking: het bovenstaande voorbeeld neemt alleen de 4 verplichte parameters.
Je moet het bovenstaande fictieve emailadres vervangen door een echt emailadres.
Opschonen en valideren van email
In het bovenstaande voorbeeld worden voor de eenvoud hard gecodeerde waarden in de broncode voor het emailadres en andere details gebruikt.
Laten we aannemen dat je een contactformulier moet maken voor gebruikers om de details in te vullen en in te dienen.
- Gebruikers kunnen per ongeluk of opzettelijk code in de headers injecteren, wat kan resulteren in het verzenden van spammail
- Om uw systeem tegen dergelijke aanvallen te beschermen, kunt u een aangepaste functie maken die de waarden zuivert en valideert voordat de e-mail wordt verzonden.
Laten we een aangepaste functie maken die het emailadres valideert en zuivert met de ingebouwde functie filter_var.
Filter_var functie
De functie filter_var wordt gebruikt voor het opschonen en valideren van de gebruikersinvoergegevens.
Het heeft de volgende basissyntaxis.
<? Php
filter_var($field, filter);
?>
- "Filter_var (...)" is de validatie- en ontsmettingsfunctie
- "$ Field" is de waarde van het veld dat moet worden gefilterd.
- "filter" is het type sanering dat op het veld moet worden uitgevoerd, zoals;
- FILTER_VALIDATE_EMAIL - het geeft true terug voor geldige emailadressen en false voor ongeldige emailadressen.
- FILTER_VALIDATE_URL - het verwijdert illegale tekens van URL's. http: //www.example@.comé retourneert http: //www.example@.com
- FILTER_SANITIZE_STRING - het verwijdert tags uit tekenreekswaarden. <b> ben vet </ b> wordt ben vet.
De onderstaande code implementeert een aangepaste functie om beveiligde email te verzenden.
<? 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 = 'naam@bedrijf.com';
$subject = 'PHP Mail testen';
$message = 'Deze mail wordt verzonden met behulp van de PHP mail';
$headers = 'Van: noreply@company.com';
// controleer of het emailadres ongeldig is $secure_check
$secure_check = sanitize_my_email($to_email);
if ($secure_check == false) {
echo "Ongeldige invoer";
} else { // stuur e-mail
mail($to_email, $subject, $message, $headers);
echo "Deze email wordt verzonden met behulp van PHP Mail";
}
?>
Output:
Secure Mail
E-mails kunnen tijdens verzending worden onderschept door onbedoelde ontvangers.
Dit kan de inhoud van de email blootstellen aan onbedoelde ontvangers.
Secure Mail lost dit probleem op door emails te verzenden via Hypertext Transfer Protocol Secure (HTTPS).
HTTPS versleutelt berichten voordat ze worden verzonden.
Samenvatting
- De ingebouwde PHP functie mail() wordt gebruikt om emails van PHP scripts te verzenden
- Validatie en opschoning van de gegevens zijn essentieel voor het verzenden van beveiligde email
- De ingebouwde PHP functie filter_var() biedt een eenvoudig te gebruiken en efficiënte manier om gegevens te zuiveren en te valideren