Bad recipient address syntax

mexicfo
Invité n'ayant pas de compte PHPfrance

19 juil. 2008, 15:31

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...

Mammouth du PHP | 959 Messages

19 juil. 2008, 20:23

Ce message d'erreur vient bien de leur service...
Quel est ton hébergeur ?

mexicfo
Invité n'ayant pas de compte PHPfrance

20 juil. 2008, 11:17

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

Mammouth du PHP | 959 Messages

20 juil. 2008, 13:07

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

mexicfo
Invité n'ayant pas de compte PHPfrance

20 juil. 2008, 16:50

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

Mammouth du PHP | 959 Messages

20 juil. 2008, 16:55

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 ;)