PHP mail() functie
Definitie en gebruik
De mail() functie staat u toe om e-mails direct vanaf het script te verzenden.
Retourneert true als de aflevering van de e-mail succesvol is ontvangen, anders retourneert het false.
syntaxis
mail(naar,onderwerp,bericht,headers,parameters)
parameter | beschrijving |
---|---|
naar | verplicht. Bepaal de ontvanger van de e-mail. |
onderwerp | verplicht. Bepaal het onderwerp van de e-mail. Dit parameter mag geen nieuwe regels bevatten. |
bericht | verplicht. Bepaal het bericht dat moet worden verzonden. |
headers | verplicht. Bepaal extra headers, zoals Van, CC en Bcc. |
parameters | verplicht. Bepaal extra parameters voor het sendmail-programma. |
beschrijving
in bericht Parameters moeten een LF (\n) tussen de regels bevatten. Elke regel mag niet meer dan 70 tekens bevatten.
Bij gebruik van PHP om direct verbinding te maken met een SMTP-server, wordt een puntje aan het begin van een regel verwijderd als het er staat. Om dit probleem te voorkomen, vervang een enkel punt door twee punten.
<?php $text = str_replace("\n.", "\n..", $text); ?>
Tips en opmerkingen
Opmerking:Het wordt u aanbevolen om te onthouden dat het accepteren van een e-mail niet betekent dat de e-mail is aangekomen op de geplande bestemming.
Voorbeeld
Voorbeeld 1
Verstuur een eenvoudige e-mail:
<?php $txt = "Eerste regel van tekst\n Tweede regel van tekst"; // Gebruik wordwrap() als een regel meer dan 70 tekens bevat. $txt = wordwrap($txt,70); // Verzend e-mail mail("iemand@example.com","Mijn onderwerp",$txt); ?>
Voorbeeld 2
Verstuur een e-mail met extra headers:
<?php $to = "iemand@example.com"; $subject = "Mijn onderwerp"; $txt = "Hallo wereld!"; $headers = "Van: webmaster@example.com" . "\r\n" . "CC: iemandander@example.com"; mail($to,$subject,$txt,$headers); ?>
Voorbeeld 3
Verstuur een HTML e-mail:
<?php $to = "somebody@example.com, somebodyelse@example.com"; $subject = "HTML e-mail"; $message = " <html> <head> <title>HTML e-mail</title> </head> <body> <p>Dit e-mail bevat HTML Tags!</p> <table> <tr> <th> Voornaam</th> <th> Achternaam</th> </tr> <tr> <td>Bill</td> <td>Gates</td> </tr> </table> </body> </html> "; // Stel content-type in altijd in wanneer je een HTML-e-mail verstuurt $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; // Meer headers $headers .= 'From: <webmaster@example.com>' . "\r\n"; $headers .= 'Cc: myboss@example.com' . "\r\n"; mail($to, $subject, $message, $headers); ?>