Page 1 sur 1

Bad recipient address syntax

Posté : 19 juil. 2008, 15:31
par mexicfo
Bonjour,

Je rencontre un souci pour l'envoi d'e-mails à partir d'un site web en PHP.
Voici le message d'erreur qui apparait lors de la tentative :

"Warning: mail() [function.mail]: SMTP server response: 501 5.1.3 Bad recipient address syntax in envoi_form.php on line 46"

Tout fonctionnait parfaitement jusqu'à la migration de plateforme de mon hébergeur, et ils prétendent que cela ne vient pas de leur service.

Voici mes codes PHP afin de mieux comprendre l'origine de mon problème :


 ?php include ("scripts/gauche.php");?>

    <td width="56%" valign="top" bgcolor="#CCCCCC" class="rubrik">  
        <table width="420" border="0" align="center" cellpadding="5" cellspacing="0">
            <tr>
                <td height="13" valign="top" bgcolor="#999999"><font color="#FFBC64" size="1">mondomaine.COM &nbsp; </font></td>
            </tr>
            <tr>
                <td height="126" valign="top"> <img src="mail.jpg" width="50" height="50" border="1" align="left" alt"solderie">
                    <?php
                    if ($_GET['mail']=="")
                        {echo "<br>Veuillez entrer une adresse E-mail valide pour recevoir une réponse. <br><br>";}
                    else
                        {
                        if (eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $_GET['mail'])) 
                            {
                            $rep = $_GET['mail'];
                            $from_email = "[email protected]";
                            $entetedate = date("D, j M Y H:i:s -0600"); // avec offset horaire
                            $entetemail = "From: $from_email \n"; // Adresse expéditeur
                            $entetemail .= "Cc: \n";
                            $entetemail .= "Bcc: \n"; // Copies cachées
                            $entetemail .= "Reply-To: $rep \n"; // Adresse de retour
                            $entetemail .= "X-Mailer: PHP/" . phpversion() . "\n" ;
                            $entetemail .= "Date: $entetedate"; 
                            $entetemail .= "MIME-Version: 1.0\n";
                            $entetemail .= "Content-type: text/html; charset=iso-8859-1\n"; 
                            
                            $mess = "";
                            $mess .= "<html> <head> <title> Demande de renseignements </title> <head> <body> <table>";
                            
                            $pips = $_GET;
                    
                            foreach ($pips as $key => $value) 
                                {
                                if(($key != "id")&&($key != "art")&&($key != "join_x")&&($key != "join_y")&&($key != "join"))
                                $mess .= "<tr><td>$key</td><td>$value</td></tr>";
                                if($key == "id")
                                    {$mess .= "<tr><td>Article :</td><td><a href=\"http://www.mondomaine.com/article.php?art=".$value."\">";}
                                if($key == "art")
                                    {$mess .= $_GET['art']."</a></td></tr>";}
                                }
                            
                            $mess .= "</table> </body> </html>";
                            
                            if(mail('[email protected]','Demande de renseignements',$mess,$entetemail)) 
                                {
                                echo "<br>".$_GET['nom'].", votre demande de renseignement a bien été prise en compte.<br>Nous vous répondrons dans les plus brefs délais.<br><br>";
                                }
                            else
                                {
                                echo "<br>Suite à un problème sur notre serveur, votre demande n'as pu etre enregistré, merci de recommencer dans un court instant.<br><br><br>"; 
                                }
                            }
                        else 
                            {
                            Echo "<br>Veuillez entrer une adresse E-mail valide pour recevoir une réponse. <br><br>";
                            }
                        }
                    ?>
                    
                    <a href="index.php"><div align="center">Retourner à l'accueil <strong>&raquo;</strong></div></a>
                </td>
            </tr>
        </table>
      
<?php include ("scripts/fond.php"); ?>
<?php include ("scripts/droite.php");?> 

Voila et plus moyens de recevoir d'emails du site !! merci de votre aide...

Posté : 19 juil. 2008, 20:23
par chrislabricole
Ce message d'erreur vient bien de leur service...
Quel est ton hébergeur ?

Bad recipient address syntax

Posté : 20 juil. 2008, 11:17
par mexicfo
Bonjour,

L'hébergement est chez online.

Ils ont apporté quelques modifications comme on peut le constater sur le lien suivant :

http://faq.online.net/hebergement-web/n ... plateforme

Que me manque t'il pour que ca refonctionne à nouveau ?


Merci

Posté : 20 juil. 2008, 13:07
par chrislabricole
Donc si tout a changer comme ça, c'est que apparemment, tu as changer de plateforme, donc pas la peine de vérifier dans ton panel....

comme tu peux voir sur lien que tu nous a passé, il y a un code pour envoyer un e-mail, test ce code tel quel, SEUL dans une page PHP...

Et si leurs code ne marche pas, c'est que ça vient de eux ;)
Si ça marche, ben compares avec ton code pour corriger l'erreur :P

Bad recipient address syntax

Posté : 20 juil. 2008, 16:50
par mexicfo
J'ai testé avec un nouveau code, et effectivement ca marche bien, c'est mon script qui n'est plus adapté à leurs nouveaux paramètres.

Il faut donc tout revoir! connaisseriez vous une personne susceptible de pouvoir m'aider ? je suis ne pas un spécialiste et je n'ai pas trop de temps dispo pour cela.

Merci

Posté : 20 juil. 2008, 16:55
par chrislabricole
Essaies de remplacer
                            $entetedate = date("D, j M Y H:i:s -0600"); // avec offset horaire
                            $entetemail = "From: $from_email \n"; // Adresse expéditeur
                            $entetemail .= "Cc: \n";
                            $entetemail .= "Bcc: \n"; // Copies cachées
                            $entetemail .= "Reply-To: $rep \n"; // Adresse de retour
                            $entetemail .= "X-Mailer: PHP/" . phpversion() . "\n" ;
                            $entetemail .= "Date: $entetedate"; 
                            $entetemail .= "MIME-Version: 1.0\n";
                            $entetemail .= "Content-type: text/html; charset=iso-8859-1\n"; 
par
                            $entetemail = "From: $from_email \n"; // Adresse expéditeur
                            $entetemail .= "MIME-Version: 1.0\n";
                            $entetemail .= "Content-type: text/html; charset=iso-8859-1\n";  
Sinon va faire un tour sur leurs forums, je pense qu'ils sont mieux placer que nous pour te donné la réponse ;)