Envoyer un email
Par Damien, mardi 1 mars 2005 à 15:02 :: PHP :: #7 :: rss
1- La commande mail()
En PHP, il existe une fonction très simple qui permet d'envoyer un email. Sa syntaxe est :
mail("adresse email destinataire","sujet","corps du message","options");
Le dernier champ est facultatif, on en parlera juste après. Dans un premier temps, nous allons envoyer un email de base. Tel est le nouveau code du fichier traitant les données envoyées par le formulaire précédent :
<html> <body> <?php mail( 'contact@phpfrance.com', 'Commentaire sur phpfrance.com', $_POST['nom'] . " a laissé un commentaire à propos de phpfrance.com:\n\n" . $_POST['texte']); ); ?> </body> </html>
Les \n à l'intérieur du corps de l'email permettent d'aller à la ligne (attention, cela fonctionne uniquement entre double quotes (")).
Pour envoyer un email à plusieurs destinataires, il suffit de séparer les adresses par des virgules.
2- Les options
Le champ options de la fonction mail permet d'ajouter une en-tête au message à envoyer. Vous pouvez, par exemple, y mettre la date, le logiciel utilisé pour envoyer l'email ou encore l'adresse de retour...
Par exemple :
$from_email = "contact@phpfrance.com"; $entetemail = "From: $from_email \n"; // Adresse expéditeur $entetemail .= "Cc: \n"; $entetemail .= "Bcc: \n"; // Copies cachées $entetemail .= "Reply-To: $from_email \n"; // Adresse de retour $entetemail .= "Date: $entetedate";
La commande mail précédente reviendrait donc à :
mail( 'contact@phpfrance.com', 'Commentaire sur phpfrance.com', $_POST['nom'] . " a laissé un commentaire à propos de phpfrance.com:\n\n" . $_POST['texte'], $entetemail );
Simple, non ?
3- Cas particuliers
Fonction désactivée
Quelques hébergeurs (gratuits bien souvent) ne supportent pas la fonction mail, en raison de l'utilisation abusive de certains.
Autre fonction
D'autres limitent son utilisation, ou créent leur propre fonction. C'est le cas de Online qui a remplacé la fonction mail par la fonction email, avec une syntaxte légèrement différente
email(chaîne compte,chaîne destinataire,chaîne sujet,chaîne message[,options]);
Cas concret, pour le compte "toto", cela donne :
email( "toto", "contact@phpfrance.com", "Commentaire sur phpfrance.com", $_POST['nom'] . " a laissé un commentaire à propos de phpfrance.com: \n\n" . $_POST['texte'], $entetemail );

Commentaires
1. Le lundi 11 avril 2005 à 19:35, par elom@ster
2. Le mercredi 4 mai 2005 à 14:21, par bad boy
3. Le mercredi 4 mai 2005 à 17:05, par Damien
4. Le mercredi 18 mai 2005 à 16:44, par thomas
5. Le jeudi 19 mai 2005 à 08:52, par Damien
6. Le mardi 31 mai 2005 à 08:14, par Nootilus
7. Le mercredi 22 juin 2005 à 13:29, par sabord
8. Le jeudi 23 juin 2005 à 00:16, par AbouHafssa
9. Le jeudi 23 juin 2005 à 08:18, par Damien
10. Le mercredi 29 juin 2005 à 15:29, par phpfrance
11. Le lundi 1 août 2005 à 16:48, par Toshiro
12. Le mardi 23 août 2005 à 07:46, par Crossfire
13. Le jeudi 25 août 2005 à 15:12, par manoon
14. Le mercredi 14 septembre 2005 à 10:21, par Vangella
15. Le jeudi 20 octobre 2005 à 14:59, par McBenny
16. Le vendredi 11 novembre 2005 à 19:21, par jby
17. Le jeudi 5 janvier 2006 à 01:40, par jaroulasse
18. Le lundi 16 janvier 2006 à 08:54, par filomat
19. Le lundi 16 janvier 2006 à 10:52, par Breackazoid
20. Le lundi 16 janvier 2006 à 16:11, par Breackazoid
21. Le vendredi 20 janvier 2006 à 09:39, par maxime
22. Le samedi 4 février 2006 à 18:37, par Sébastien
23. Le mercredi 15 février 2006 à 12:11, par samuel
24. Le jeudi 23 février 2006 à 10:07, par ZeBiGTeX
25. Le mardi 4 avril 2006 à 16:56, par tyler
26. Le vendredi 25 août 2006 à 18:14, par doume65
27. Le mardi 29 août 2006 à 16:12, par Julien PALAS
28. Le mardi 10 avril 2007 à 16:49, par Khairi
29. Le vendredi 8 juin 2007 à 11:10, par me
30. Le lundi 11 juin 2007 à 12:26, par naguise
31. Le lundi 2 juillet 2007 à 09:48, par nesquick
32. Le samedi 11 août 2007 à 20:13, par khalid
33. Le vendredi 23 novembre 2007 à 16:08, par débutant php
34. Le samedi 5 janvier 2008 à 00:43, par test qi
35. Le vendredi 7 mars 2008 à 15:18, par chhtony1190
36. Le dimanche 23 mars 2008 à 09:21, par bilou
37. Le mercredi 28 mai 2008 à 16:35, par eole
38. Le lundi 20 octobre 2008 à 14:28, par dfdfd
39. Le dimanche 8 novembre 2009 à 01:35, par zgaldi
40. Le jeudi 3 décembre 2009 à 04:12, par adelinedeparis
41. Le samedi 16 janvier 2010 à 19:39, par casavente
42. Le dimanche 17 janvier 2010 à 03:04, par marionette
43. Le dimanche 17 janvier 2010 à 03:04, par faofao
44. Le jeudi 1 avril 2010 à 10:40, par Deexit
45. Le jeudi 20 mai 2010 à 14:05, par roid'amour
46. Le mercredi 9 juin 2010 à 23:18, par peu importe
47. Le jeudi 17 juin 2010 à 01:31, par mamamiya
48. Le lundi 28 juin 2010 à 14:12, par Sexy Dev
Ajouter un commentaire