Problème fonction mail

Problème fonction mail - PHP - Programmation

Marsh Posté le 09-06-2009 à 11:03:37    

Bonjour,
 
J'ai un problème avec la fonction mail sous wampserver.
 
Voici mon code :
 
Programme : fonctions.php
 

Code :
  1. 1 <?php
  2. 2 function inscription_mail($mail, $pseudo, $passe)
  3. 3 {
  4. 4 $to = $mail;
  5. 5 $subject = 'Inscription sur MonSuperSite';
  6. 6
  7. 7 $message = '<html>
  8. 8 <head>
  9. 9 <title></title>
  10. 10 </head>
  11. 11
  12. 12 <body>
  13. 13 <div>Bienvenue sur MonSuperSite !<br/>
  14. 14 Vous avez complété une inscription avec le pseudo
  15. 15 '.htmlspecialchars($pseudo, ENT_QUOTES).' à l\'instant.<br/>
  16. 16 Votre mot de passe est : '.htmlspecialchars($passe, ENT_QUOTES).'.<br/>
  17. 17 Veillez à le garder secret et à ne pas l\'oublier.<br/><br/>
  18. 18
  19. 19 En vous remerciant.<br/><br/>
  20. 20 Moi - Wembaster de MonSuperSite
  21. 21 </body>
  22. 22 </html>';
  23. 23
  24. 24 //headers principaux.
  25. 25 $headers = 'MIME-Version: 1.0' . "\r\n";
  26. 26 $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
  27. 27 //headers supplémentaires
  28. 28 $headers .= 'From: "Mon super site" <contact@supersite.com>' . "\r\n";
  29. 29 $headers .= 'Cc: "Duplicata" <duplicata@supersite.com>' . "\r\n";
  30. 30 $headers .= 'Reply-To: "Membres" <membres@supersite.com>' . "\r\n";
  31. 31
  32. 32
  33. 33 $mail = mail($to, $subject, $message, $headers); //marche
  34. 34
  35. 35 if($mail) return true;
  36. 36 return false;
  37. 37 }
  38. 38
  39. 39 ?>


 
Programme : php.ini
 
[mail function]
; For Win32 only.
SMTP = smtp.orange.fr
smtp_port = 25
 
; For Win32 only.
sendmail_from = contact@supersite.com
 
J'ai le message d'erreur suivant :
 
Warning: mail() [function.mail]: SMTP server response: 501 5.1.3 Bad recipient address syntax in C:\wamp\www\forum\includes\fonctions.php on line 33
 
?? :(

Reply

Marsh Posté le 09-06-2009 à 11:03:37   

Reply

Marsh Posté le 09-06-2009 à 11:15:34    

Ca peut aider...
Manuel

Citation :

Note: L'implémentation de la fonction mail() sous Windows diffère de manière significative avec l'implémentation Unix. Tout d'abord, il n'utilise pas un programme local pour composer les messages, mais opère uniquement et directement sur les sockets, ce qui signifie qu'un MTA  est nécessairement à l'écoute sur un socket du réseau (qui peut être soit sur le réseau local ou sur une machine distante).
Deuxièmement, les en-têtes personnalisés comme From:, Cc:, Bcc: et Date: ne sont pas interprétés par le MTA dans un premier temps, mais sont analysés par PHP.
De plus, le paramètre to ne doit pas être une adresse sous la forme "Quelque chose <quelqu_un@example.com>". La commande mail n'analysera pas correctement ceci lors de la discussion avec le MTA.

Reply

Marsh Posté le 09-06-2009 à 11:21:07    

Je n'ai pas tout très bien compris....

Reply

Marsh Posté le 11-06-2009 à 17:20:12    

Si dans le paramètre to il ne faut pas mettre d'adresse du genre personne@example.com, alors pourquoi ils mettent la même adresse dans leur exemple ? :heink:  
 
<?php
     $to      
= 'personne@example.com';
     
$subject = 'le sujet';
     
$message = 'Bonjour !';
     
$headers = 'From: webmaster@example.com' . \"rn\" .
     
'Reply-To: webmaster@example.com' . \"rn\" .
     
'X-Mailer: PHP/' . phpversion();
 
     
mail($to, $subject, $message, $headers);
 
?>

Reply

Marsh Posté le 11-06-2009 à 17:30:45    


Citation :

Note: L'implémentation de la fonction mail() sous Windows (...)

Reply

Marsh Posté le 11-06-2009 à 18:53:17    

Elle sera donc de quelle forme ?

Reply

Marsh Posté le 12-06-2009 à 12:25:55    

Ca ne règle pas mon problème =/

Reply

Marsh Posté le 16-06-2009 à 21:20:29    

Il n'y a plus personne ?? :(

Reply

Marsh Posté le 17-06-2009 à 09:09:08    

D_AmOn a écrit :

Il n'y a plus personne ?? :(


Tu as essayé d'envoyer un mail "simple" avec des adresses le plus "basiques" possible (nom.prenom@serveur.ext) ?

Reply

Marsh Posté le 17-06-2009 à 23:01:38    


 
Non, le format à ne pas utiliser n'est pas quelqu_un@example.com, mais Quelque chose <quelqu_un@example.com>, qui permet de définir un nom au destinataire.
 
Pour en revenir à l'erreur d'origine, c'est dû au fait que le $mail ne contient pas une adresse e-mail valide. Donc, soit tu as utilisé le format qu'il ne faut pas, soit l'adresse n'est pas correcte. En tout cas, ça aiderait d'avoir le $mail.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 17-06-2009 à 23:01:38   

Reply

Marsh Posté le 18-06-2009 à 20:38:05    

$mail contient : alsal-damon@hotmail.fr
 
C'est complètement banal :(


Message édité par D_AmOn le 18-06-2009 à 20:38:24
Reply

Marsh Posté le 18-06-2009 à 20:38:35    

aideinfo a écrit :


 
Non, le format à ne pas utiliser n'est pas quelqu_un@example.com, mais Quelque chose <quelqu_un@example.com>, qui permet de définir un nom au destinataire.
 
Pour en revenir à l'erreur d'origine, c'est dû au fait que le $mail ne contient pas une adresse e-mail valide. Donc, soit tu as utilisé le format qu'il ne faut pas, soit l'adresse n'est pas correcte. En tout cas, ça aiderait d'avoir le $mail.


 
$mail contient : alsal-damon@hotmail.fr
 
C'est complètement banal :(

Reply

Marsh Posté le 18-06-2009 à 23:33:20    

le SMTP d'orange c'est pas le port 587 ?


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 19-06-2009 à 11:06:32    

NewsletTux a écrit :

le SMTP d'orange c'est pas le port 587 ?


 
Si mais en fait je me suis trompée, mon FAI est numéricable mais mes adresses sont des hotmail.
 
Alors il faut que j'utilise :
 
Serveur SMTP : smtp.live.com (Port 25 avec connexion SSL)
 
ou
 
Serveur SMTP : smtp.numericable.fr (Port 25 avec connexion SSL)
 
?

Reply

Marsh Posté le 19-06-2009 à 14:42:47    

Numéricable, car hotmail utilise SSL.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed