| auteur : Eric Berger |
En utilisant la fonction mail(), il faut indiquer
Content-Type: text/html; charset="iso-8859-1" |
comme quatrième argument de la fonction. Le quatrième argument sert à spécifier des headers supplémentaires.
|
lien : Comment envoyer un mail ?
|
| auteurs : Forum PHP, Kerod, Linaa |
Pour envoyer un mail en PHP, il nous faut utiliser la fonction
mail()
qui retourne TRUE si le mail a été accepté pour
livraison, FALSE sinon.
Avant de pouvoir l'utiliser, nous devons vérifier les points
suivants :
-
La fonction
mail()
est bien activée par l'hébergeur.
Pour le vérifier, il suffit de regarder son phpinfo().
- Le serveur SMTP est correctement configuré.
Pour configurer le serveur SMTP, il faut ouvrir le fichier
php.ini et rechercher la ligne :
Configuration actuelle | [mail function] |
Puis mettre la configuration suivante :
Nouvelle configuration | ; pour windows
smtp_port = 25 ;Valeur par défaut
; pour windows
SMTP = smtp.monfai.fr
; pour windows
sendmail_from = moi@monfai.fr ; Pas obligatoire
; pour unix.
;sendmail_path = /usr/sbin/sendmail ou /usr/lib/sendmail |
PS : sendmail_path est utilisé pour localiser le
programme d'envoi de mail par le serveur.
Attention : Si la directive sendmail_path
est définie sous windows, alors smtp, smtp_port
et sendmail_from seront ignorés et la commande spécifiée
sera exécutée.
Une fois ces points réalisés, nous pouvons enfin passer à
la construction du mail lui-même. Nous avons deux possibilités :
- L'envoi sous format texte
- L'envoi sous format HTML
Format texte
Mise en forme d'un mail sous format texte | <?php
$destinataire = 'adresse@fai.com';
$expediteur = 'adresse@fai.com';
$copie = 'adresse@fai.com';
$copie_cachee = 'adresse@fai.com';
$objet = 'Test';
$headers = 'MIME-Version: 1.0' . "\n";
$headers .= 'Reply-To: '.$expediteur."\n";
$headers .= 'From: "Nom_de_expediteur"<'.$expediteur.'>'."\n";
$headers .= 'Delivered-to: '.$destinataire."\n";
$headers .= 'Cc: '.$copie."\n";
$headers .= 'Bcc: '.$copie_cachee."\n\n";
$message = 'Un Bonjour de Developpez.com!';
if (mail($destinataire, $objet, $message, $headers))
{
echo 'Votre message a bien été envoyé ';
}
else
{
echo "Votre message n'a pas pu être envoyé";
}
?> |
Format HTML
Mise en forme d'un mail sous format HTML | <?php
$destinataire = 'adresse@fai.com';
$expediteur = 'adresse@fai.com';
$copie = 'adresse@fai.com';
$copie_cachee = 'adresse@fai.com';
$objet = 'Test';
$headers = 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=ISO-8859-1'."\n";
$headers .= 'Reply-To: '.$expediteur."\n";
$headers .= 'From: "Nom_de_expediteur"<'.$expediteur.'>'."\n";
$headers .= 'Delivered-to: '.$destinataire."\n";
$headers .= 'Cc: '.$copie."\n";
$headers .= 'Bcc: '.$copie_cachee."\n\n";
$message = '<div style="width: 100%; text-align: center; font-weight: bold">Un Bonjour de Developpez.com !</div>';
if (mail($destinataire, $objet, $message, $headers))
{
echo 'Votre message a bien été envoyé ';
}
else
{
echo "Votre message n'a pas pu être envoyé";
}
?> |
Important : Afin de séparer les headers du
corps du message, nous devons obligatoirement rajouter la
chaîne "\r\n\r\n" à la fin de sa définition afin d'éviter
les injections de headers.
Attention : Il est important de noter que ce n'est
pas parce que le mail a été accepté pour livraison qu'il
arrivera à destination.
|
| auteur : Kerod |
Pour avoir un accusé de réception après l'envoi d'un mail,
il faut rajouter dans les headers l'option
Disposition-Notification-To: adresse@fai.com |
Cela active de ce fait la confirmation de lecture.
|
Consultez les autres F.A.Q's
Les sources présentés sur cette pages sont libre de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2003
Developpez LLC. Tout droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérets.
Cette page est déposée à la SACD.
|