IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

erreur 550 envoi mail sous php [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 58
    Points : 64
    Points
    64
    Par défaut erreur 550 envoi mail sous php
    Bonjour à tous,
    Je bataille depuis qq jours pour l'envoi d'un mail.
    Voici ma config : WAMP (sql 5.5.20) (php 5.3.9)
    voici le message d'erreur que j'obtient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mail() [function.mail]: SMTP server response: 550 5.5.0 <html> domain name required in C:\wamp\www\mail.php on line 61
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    </head>
    <?php
    // j'envoie le mail de confirmation
    	// initialisation des variables de mon mail
    	$destinataire="toto@xxxxxxxx.fr";
    	$objet="Confirmation d\'inscription ";
    	$message='
    	<html>
    	<head>
    	<title>Confirmation de votre inscription</title>
    	</head>
    	<body>
    	
    	<table>
    	<tr> 
    	<th width="59"><font color="#FF0000">Nom</font></th>
    	<th width="94"><font color="#FF0000">Adresse</font></th>
    	</tr>
    	<tr> 
    	<td>Ce mail vous confirme votre inscrition à</td>
    	<td> http://www.xxxxxxxxx.fr </td>
    	</tr>
    	<tr> 
    	<td>Nous vous remercions pour votre confiance et espérons vous</td>
    	<td>apporter de réels solutions à tout vos problèmes d\'utilisation.</td>
    	</tr>
    	<br>
    	<h3>Cordialement </h3>
    	</table>
    	</body> 
    	</html>
    	';
    	// paramétrage du mail en html
    	$headers = "MIME-Version: 1.0\n";
    	$headers .= "Content-type: text/html; charset=iso-8859-1\n";
    	// entete du mail
    	$headers .="From: FORMULE AIDE <titi@xxxxx.fr>/n";
    	// on envoie le mail
    	if (mail($message, $objet, $message, $headers )){
    		echo "Envoi du mail réussi.";
    		}
     
     
    ?>
    <body>
    </body>
    </html>
    Pour info la ligne 61 est la commande if (mail.......

    Le serveur est installé sur la même machine de développement (win7) le php.ini comporte bien smtp.orange.fr ( nom de mon FAI) port :25
    J'ai lu beaucoup de post sur ce type de problème mais je ne trouve pas de solution.
    Merci par avance.
    vincent

  2. #2
    Membre confirmé Avatar de Inazo
    Profil pro
    Gérant - société de développement web
    Inscrit en
    Avril 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Gérant - société de développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 417
    Points : 632
    Points
    632
    Par défaut
    Bonjour,

    Vu que tu es sous windows il faut aussi modifier le sendmailfrom dans le php.ini

    Penser aussi à définir date.timezone si cela n'est pas fait.

    Cordialement,

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 58
    Points : 64
    Points
    64
    Par défaut
    Merci Inazo pour ta réponse.
    J'avais bien , au préalable , mis le bon sendmailfrom (mon adresse mail)
    Concernant le date.timezone, je l'ai modifié sur tes conseils et j'ai remplacé UTC par "Europe/Brussels"

    et j'ai toujours le même message d'erreur.
    Pour info : j'ai bien arreter/redemarrer les service WAMP !
    ( ! ) Warning: mail() [function.mail]: SMTP server response: 550 5.5.0 <html> domain name required in C:\wamp\www\mail.php on line 61

  4. #4
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Salut

    ... SMTP server response: 550 ...
    Vu l'erreur retournée, ce serait au niveau du SMTP que ça n'irait pas.

    As tu fais des recherches sur le Net, ou alors as tu un document (papier, sur le Net) de ton FAI (Orange) t'indiquant comment configurer ce serveur SMTP ?

    Je vois cela coté assistance de Orange :
    http://assistance.orange.fr/configur...mails-1222.php
    Entre autre ceci :
    serveurs sortants pour l'envoi des mails

    Compte adresse Serveur sortant Port sortant Envoi sécurisé Envoi authentifié**
    Orange orange.fr smtp.orange.fr 465 SSL OUI*
    Apparemment ce serait le port 465 (et non 25).
    Puis apparemment il faudrait une authentification (identifiant/mot de passe).
    Sans certitude.


    Essai dans un 1er temps de faire plus simple, genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $to = 'personne@example.com';
    $subject = 'le sujet';
    $message = 'Bonjour !';
    $headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
     
    if (mail($to, $subject, $message, $headers)) {
        echo 'Ok';
    }
    else {
        echo 'Bouuuh ...';
    }
    (exemple pris dans la doc de php)
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 58
    Points : 64
    Points
    64
    Par défaut
    Bonjour RunCodePhp,

    Merci pour le temps consacré mon sujet !
    J'ai fais le test avec ton code "simple" et cela fonctionne !
    Orange refuserait un mail HTML ??
    Je vais modifier mon script pour tester et je reviens pour te donner la réponse !
    A tout à l'heure.
    Merci

  6. #6
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    Orange refuserait un mail HTML ??
    J'en doute.

    Fais des recherche sur ne Net, cela regorge de tutos, faq, et autres aides concernant l'envoie de mail en HTML.

    Au passage, je te conseils d'envoyer des mail en texte (brut) et en HTML.
    Il faut pas perdre de vue qu'on ne saura pas avec quel outil (client messagerie) les utilisateurs consulteront les mails.
    Certains n'interprètent pas le HTML, du coup la présentation peut être radicalement différente de ce qu'on prévoit, voire pire, des contenus illisibles.
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 58
    Points : 64
    Points
    64
    Par défaut
    Verdict :
    1- Orange accepte bien le html !! (évidement !)
    2- J'avais mis 2 fois la variable $message dans ma commande mail(....
    3- j'ai remplacé les " par des ' dans mes variables
    4- j'ai rajouter le code Reply-to dans le $headers

    Et hop... cela fonctionne.....

    Conclusion :
    -tourner sa "langue 7 fois dans sa bouche" avant de poster sur developpez.com !
    -s'excuser platement auprès de ceux à qui on a fait perdre du temps !
    -remettre sa réflexion au lendemain après un bon apéro et une bonne nuit de sommeil !
    -remercier vivement developpez.com pour ce superbe partage de connaissances !

    Merci à vous les gars !!
    @+
    Vincent

    Voici le code qui fonctionne ( pour ceux que cela pourrait dépanner) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    <?php
    // j'envoie le mail de confirmation
    	// initialisation des variables de mon mail
    	$to='xxxxx@xxxxx.fr';
    	$subject='Confirmation d\'inscription à formuleaide.fr';
    	$message='
    	<html>
    	<head>
    	<title>Confirmation de votre inscription</title>
    	</head>
    	<body>
    	
    	<table>
    	<tr> 
    	<th width="59"><font color="#FF0000">Nom</font></th>
    	<th width="94"><font color="#FF0000">Adresse</font></th>
    	</tr>
    	<tr> 
    	<td>Ce mail vous confirme votre inscrition à</td>
    	<td> http://www.xxxxxxx.fr </td>
    	</tr>
    	<tr> 
    	<td>Nous vous remercions pour votre confiance et espérons vous</td>
    	<td>apporter de réelles solutions à tous vos problèmes d\'utilisation.</td>
    	</tr>
    	<br>
    	<h3>Cordialement </h3>
    	</table>
    	</body> 
    	</html>
    	';
        // paramétrage du mail en html
    	$headers = "MIME-Version: 1.0\n";
    	$headers .= "Content-type: text/html; charset=iso-8859-1\n";
     
    	// entete du mail
    	$headers .="From: YYYYYYYYYYY <xxxxxxxx@xxxxx.fr>". "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
    	// on envoie le mail
    	if (mail($to, $subject, $message, $headers )){
    		echo "Envoi du mail réussi.";
    		}
     
     
    ?>

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 58
    Points : 64
    Points
    64
    Par défaut
    @RunCodePhp :

    Merci beaucoup !
    J'en ai tellement marre de voir des âneries sur différents forums et en plus les autres forums renvois très souvent sur des posts ou tuto de developpez.com que maintenant je recherche presque uniquement sur ce forum !! très souvent je gagne un temps précieux !
    Merci pour tes bons conseils concernant le html dans les mails !
    Je vais les appliquer aveuglement !

    Merci pour tout.
    a plus.
    Vincent

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] erreur lors d'envoi mailing via PHP/SQL
    Par gael-abdelhadi dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/01/2012, 23h45
  2. Erreur réception de mail sous Outlook 2003-MS Project 2007
    Par brice45 dans le forum Microsoft Office
    Réponses: 3
    Dernier message: 15/09/2008, 18h13
  3. [Mail] Erreur lors de l'envoi d'e-mail sous PHP
    Par lylyagloire dans le forum Langage
    Réponses: 1
    Dernier message: 31/07/2007, 22h37
  4. [VB6]erreur d'envoie mail, pourquoi??
    Par riesseg dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/05/2006, 14h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo