Description
boolean
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
.
Les
emails
avec
pièces
jointes
ou
contenus
particuliers
(
comme
les
emails
en
HTML
,
par
exemple
)
,
peuvent
être
réalisés
avec
cette
fonction
.
Il
faut
respecter
l
'
encodage
MIME
.
Pour
plus
de
détails
,
voyez
http
:
/
/www.zend.com
/
zend
/
spotlight
/
sendmimeemailpart1.php
et
les
classes
PEAR
MIME
.
Les
RFC
suivantes
peuvent
aussi
se
révéler
utiles
:
RFC
1896
,
RFC
2045
,
RFC
2046
,
RFC
2047
,
RFC
2048
et
RFC
2049
.
mail(
)
retourne
TRUE
si
le
mail
est
envoyé
,
et
FALSE
sinon
.
Exemple
1
.
Envoie
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
'
en-tête
.
Typiquement
,
cela
permet
d
'
insérer
des
en-têtes
supplémentaires
.
Les
en-têtes
multiples
doivent
être
séparées
par
des
virgules
.
Sous
Windows
32bits
,
vous
devez
utiliser
\r\n
pour
séparer
les
en-têtes
.
Notez
aussi
que
les
en-têtes
cc
:
et
bcc
:
sont
sensibles
à
la
casse
et
doivent
être
écrits
Cc
:
et
Bcc
:
sous
Win32
.
Si
le
cinquième
argument
additional_parameters
est
fourni
,
PHP
l'
utilisera
dans
son
appel
du
programme
d
'envoie
de
courrier
électronique
.
Ceci
est
pratique
pour
passer
une
valeur
correcte
à
l
'
en-tête
Return-Path
,
avec
sendmail
.
Le
cinquième
paramètre
a
été
ajouté
en
PHP
4.0.5
.
Exemple
2
.
Envoi
de
eMail
avec
des
en-tê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'en-tête
Return-Path
est correctement paramétré. Normalement, sendmail ajoute
automatiquement l'en-tê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
en-tê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'août"
;
/
*
message
*
/
$message
.=
"Le
mail
suivant
inclut
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
en-tê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"
;
/
/
Champs
BCCs
/
*
et
hop
,
à
la
poste
*
/
mail($recipient
,
$subject
,
$message
,
$headers)
;
?
|
|
Assurez-vous
qu'
il
n'y
ait
aucune
nouvelle
ligne
(ou
d'autres
espaces
ou
caractères
blancs
)
dans
les
paramètres
to
ou
subject
,
car
cela
peut
avoir
des
effets
secondaires
irrationnels
.