Fonction mail

scorpion077 Messages postés 44 Date d'inscription lundi 11 juin 2007 Statut Membre Dernière intervention 14 mai 2009 - 11 mai 2009 à 18:58
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 12 mai 2009 à 18:42
bonjour,

la fonction suivante ne marche pas sur mon site :

$headers = 'From: Cool-surfing <[mailto:webmaster@site.com>' webmaster@site.com>'] . "\r\n" .
 'Reply-To: [mailto:webmaster@example.com' webmaster@example.com'] . "\r\n" .
 'X-Mailer: PHP/' . phpversion();


 mail("$mail","Vos informations de connexion Cool-surfing","Bonjour \n \n Voici les informations relatives à votre connexion. \n \n Pseudo : $pseudo \n Mot de passe : $pass",$headers);

Cordialement.
 

4 réponses

nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
11 mai 2009 à 19:26
la fonction mail se serait-elle pas désactivées par l'hébergeur ? C'est souvent le cas.
http://phpclasses.100pour100net.com/browse/package/3001.html
par exemple pour un envoi via smtp dans ces cas là
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
12 mai 2009 à 16:37
Salut,

Comment est définie $mail ?

Essaie ça sur une nouvelle page :
ini_set ('display_errors', 'on');
error_reporting(E_ALL);
if (false === mail($mail, 'test', 'truc machin')) echo 'echec d\'envoi du mail'; else echo 'envoi OK';

Quel résultat, erreurs ?

Si ça plante tu peux également regarder dans la config du php.ini (php_info()) si la fonction mail est activée.

Cordialement,

Kohntark -
0
scorpion077 Messages postés 44 Date d'inscription lundi 11 juin 2007 Statut Membre Dernière intervention 14 mai 2009
12 mai 2009 à 18:02
J'ai trouvé l'erreur : les ". J'ai remplacé les headers par ca :

$headers = 'From: Cool-surfing <[mailto:webmaster@site.com%3E webmaster@site.com>'] . '\r\n' .
 'Reply-To: [mailto:webmaster@example.com webmaster@example.com'] . '\r\n' .
 'X-Mailer: PHP/' . phpversion();
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
12 mai 2009 à 18:42
A mon avis ce n'est pas ça.
Tu as forcément modifié qq chose d'autre.
Pourquoi ?
En php :
"\r\n" => interprété comme retour à la ligne + nouvelle ligne (en ascii : 10 et 13)
'\r\n' => interprété comme une chaîne de caractères, s'affiche donc en \r\n

C'est totalement différent. Hors, pour respecter la norme de l'envoi de mail il faut un retour à la ligne et une nouvelle ligne, ce n'est donc pas ce que tu fais.
En fait, en virant les " tu vires le header, ou plus exactement la partie non valide (reply-to et x-mailer) Si ça fonctionne comme ça c'est que l'un des deux pose pb.
Cela peut venir de restrictions du serveur de mail, et je parierai bien sur le X-mailer. A vrai dire il ne sert à rien sauf à causer des dysfonctionnements, parce que certains serveurs semblent refuser les messages émis par PHP (lutte anti spam)

Refais un test en remettant les " et en supprimant le X-mailer :
$headers = 'From: Cool-surfing <[mailto:webmaster@site.com%3E webmaster@site.com>'] . "\r\n" .
 'Reply-To: [mailto:webmaster@example.com webmaster@example.com'];

Si ça ne fonctionne pas fais l'effort de faire les tests que je te proposais dans mon dernier message.

Kohntark -
0
Rejoignez-nous