Description
bool mail
(string to, string subject, string message [, string
additional_headers [, string
additional_parameters]])
mail() poste automatiquement le message
message à destination de
to. Les destinataires multiples doivent être
séparés par des virgules.
Exemple 1. Envoi de courrier électronique (mail)
<?php
mail("rasmus@lerdorf.on.ca", "Mon Sujet", "Ligne 1\nLigne 2\nLigne 3");
?>
|
|
Le quatrième argument passé sera inséré à
la fin de l'entête. Typiquement, cela permet d'insérer des
entêtes supplémentaires. Les entêtes multiples doivent
être séparés par des virgules.
Si le cinquième argument additional_parameters
est fourni, PHP l'utilisera dans son appel du programme d'envoi de
courrier électronique. Ceci est pratique pour passer une valeur
correcte à l'entête Return-Path, avec sendmail.
Note :
Le cinquième paramètre a été
ajouté en PHP 4.0.5.
Exemple 2. Envoi de eMail avec des entêtes supplémentaires.
<?php
mail("nobody@aol.com", "Le sujet", $message,
"From: webmaster@$SERVER_NAME\nReply-To: webmaster@$SERVER_NAME\nX-Mailer: PHP/" . phpversion());
?>
|
|
Avec le cinquième paramètre, vous pouvez ajouter d'autres paramètres
de ligne de commande qui seront utilisés par le programme d'envoi de
courrier. Dans l'exemple ci-dessous, l'entête
Return-Path
est correctement paramétré. Normalement, sendmail ajoute automatiquement
l'entête
X-Authentication-Warning (paramètre -f),
car l'utilisateur "serveur web" n'est probablement pas un de ses
utilisateurs de confiance ("trusted users"). Pour supprimer cette
alerte, ajoutez l'utilisateur du serveur web dans la configuration
de sendmail.
Exemple 3.
Envoi de eMail avec des entêtes supplémentaires et
un paramètre de ligne de commande supplémentaire
<?php
mail("nobody@aol.com", "the subject", $message,
"From: webmaster@$SERVER_NAME", "-fwebmaster@$SERVERNAME");
?>
|
|
Vous pouvez aussi utiliser des techniques simples de
concaténations de chaînes pour construire des
messages complexes :
Exemple 4. Envoi de mail complexe.
<?php
/* destinataire */
$recipient .= "Mary <mary@u.college.edu>".", " ; //remarquez les virgules
$recipient .= "Kelly <kelly@u.college.edu>".", ";
$recipient .= "ronabop@php.net";
/* sujet */
$subject = "Rappel des anniversaires du mois d'aout";
/* message */
$message .= "Le mail suivant inclus une table au format ASCII\n";
$message .= "Jour \t\tMois \t\tAn\n";
$message .= "3 \t\tAou \t\t1970\n";
$message .= "17\t\tAou \t\t1973\n";
/* Vous pouvez ajouter une signature */
$message .= "--\r\n"; //Délimiteur de signature
$message .= "Rappel d'anniversaire : copyleft par public domain";
/* d'autres entêtes : errors, From cc's, bcc's, etc */
$headers .= "From: Rappel d'anniversaire <birthday@php.net>\n";
$headers .= "X-Sender: <birthday@php.net>\n";
$headers .= "X-Mailer: PHP\n"; // maileur
$headers .= "X-Priority: 1\n"; // Message urgent!
$headers .= "Return-Path: <birthday@php.net>\n"; // Re-chemin de retour pour les erreurs
$headers .= "Content-Type: text/html; charset=iso-8859-1\n" // Type MIME
$headers .= "cc:birthdayarchive@php.net\n"; // Champs CC
$headers .= "bcc:birthdaycheck@php.net, birthdaygifts@php.net\n"; // Champs BCCs
/* et hop, à la poste */
mail($recipient, $subject, $message, $headers);
?>
|
|