Nils Posté 4 Avril 2005 Posté 4 Avril 2005 Bonjour, J'essaye d'utiliser la fonction mail(), mais elle ne fonctionne pas avec tous les serveurs d'email que j'ai essayés, j'obtiens bien mes messages avec hotmail, mais pas avec gmail ou free. voici mes deux fonctions : The original message was received at 04/04/2005 03:47:33from nilsinspiron ([127.0.0.1])The following addresses had delivery problems:=================================nilsbay_AT_free.frTranscript of session follows:=================================Error: 451 See [url="http://pobox.com/~djb/docs/smtplf.html"]http://pobox.com/~djb/docs/smtplf.html[/url].This is a copy of the message, including all the headers:=================================Date: Mon, 04 Apr 2005 15:47:33 +0100Subject: Votre réservation auprès de France Limousine ServiceTo: nilsbay_AT_free.frFrom: nils.bay_AT_gmail.comBonjour,Votre réservation faite dans l'espace de réservation en ligne de France Limousine service à bien été prise en compte Ceci est un e-mail envoyé automatiquement, il n'est pas possible d'y répondre.[/code] Par ailleurs, dans la log de postcast (mon serveur d'email) j'ai l'information suivante : [code]PostCast Server 2.6.0SMTP log started at 4/4/2005 03:47:42 Thread 2: 03:47:43 [<-->] : Connecting to mx.free.frThread 2: 03:47:43 [<-->] : Connected.Thread 2: 03:47:44 [--->] : 220 mrelay4-2.free.fr ESMTPThread 2: 03:47:44 [<---] : HELO nilsinspironThread 2: 03:47:44 [--->] : 250 mrelay4-2.free.frThread 2: 03:47:44 [<---] : RSETThread 2: 03:47:44 [--->] : 250 flushedThread 2: 03:47:44 [<---] : MAIL FROM:<nils.bay_AT_gmail.com>Thread 2: 03:47:44 [--->] : 250 okThread 2: 03:47:44 [<---] : RCPT TO:<nilsbay_AT_free.fr>Thread 2: 03:47:44 [--->] : 250 okThread 2: 03:47:44 [<---] : DATAThread 2: 03:47:44 [--->] : 354 go aheadThread 2: 03:47:44 [<---] : .Thread 2: 03:47:44 [--->] : 451 See [url="http://pobox.com/~djb/docs/smtplf.html"]http://pobox.com/~djb/docs/smtplf.html[/url].Thread 2: 03:47:44 [<---] : QUITThread 2: 03:47:44 [<-->] : Disconnected.Thread 2: 03:47:44 [<-->] : Error: 451 See [url="http://pobox.com/~djb/docs/smtplf.html"]http://pobox.com/~djb/docs/smtplf.html[/url].Thread 2: 03:47:44 [<-->] : Connecting to mrelay1-2.free.frThread 2: 03:47:44 [<-->] : Connected.Thread 2: 03:47:45 [--->] : 220 mrelay1-2.free.fr ESMTPThread 2: 03:47:45 [<---] : HELO nilsinspironThread 1: 03:47:47 [<-->] : Error: Unable to resolve host name free.fr;Thread 2: 03:47:47 [--->] : 250 mrelay1-2.free.frThread 2: 03:47:47 [<---] : RSETThread 2: 03:47:47 [--->] : 250 flushedThread 2: 03:47:47 [<---] : MAIL FROM:<nils.bay_AT_gmail.com>Thread 2: 03:47:47 [--->] : 250 okThread 2: 03:47:47 [<---] : RCPT TO:<nilsbay_AT_free.fr>Thread 2: 03:47:47 [--->] : 250 okThread 2: 03:47:47 [<---] : DATAThread 2: 03:47:47 [--->] : 354 go aheadThread 2: 03:47:47 [<---] : .Thread 2: 03:47:47 [--->] : 451 See [url="http://pobox.com/~djb/docs/smtplf.html"]http://pobox.com/~djb/docs/smtplf.html[/url].Thread 2: 03:47:47 [<---] : QUITThread 2: 03:47:47 [<-->] : Disconnected.Thread 2: 03:47:47 [<-->] : Error: 451 See [url="http://pobox.com/~djb/docs/smtplf.html"]http://pobox.com/~djb/docs/smtplf.html[/url].Thread 2: 03:47:47 [<-->] : Connecting to mrelay2-1.free.frThread 2: 03:47:48 [<-->] : Connected.Thread 2: 03:47:48 [--->] : 220 mrelay2-1.free.fr ESMTPThread 2: 03:47:48 [<---] : HELO nilsinspironThread 2: 03:47:48 [--->] : 250 mrelay2-1.free.frThread 2: 03:47:48 [<---] : RSETThread 2: 03:47:48 [--->] : 250 flushedThread 2: 03:47:48 [<---] : MAIL FROM:<nils.bay_AT_gmail.com>Thread 2: 03:47:48 [--->] : 250 okThread 2: 03:47:48 [<---] : RCPT TO:<nilsbay_AT_free.fr>Thread 2: 03:47:48 [--->] : 250 okThread 2: 03:47:48 [<---] : DATAThread 2: 03:47:48 [--->] : 354 go aheadThread 2: 03:47:48 [<---] : .Thread 2: 03:47:48 [--->] : 451 See [url="http://pobox.com/~djb/docs/smtplf.html"]http://pobox.com/~djb/docs/smtplf.html[/url].Thread 2: 03:47:48 [<---] : QUITThread 2: 03:47:48 [<-->] : Disconnected.Thread 2: 03:47:48 [<-->] : Error: 451 See [url="http://pobox.com/~djb/docs/smtplf.html"]http://pobox.com/~djb/docs/smtplf.html[/url].Thread 2: 03:47:48 [<-->] : Connecting to mrelay2-2.free.frThread 2: 03:47:49 [<-->] : Connected.Thread 2: 03:47:49 [--->] : 220 mrelay2-2.free.fr ESMTPThread 2: 03:47:49 [<---] : HELO nilsinspironThread 2: 03:47:49 [--->] : 250 mrelay2-2.free.frThread 2: 03:47:49 [<---] : RSETThread 2: 03:47:49 [--->] : 250 flushedThread 2: 03:47:49 [<---] : MAIL FROM:<nils.bay_AT_gmail.com>Thread 2: 03:47:49 [--->] : 250 okThread 2: 03:47:49 [<---] : RCPT TO:<nilsbay_AT_free.fr>Thread 2: 03:47:49 [--->] : 250 okThread 2: 03:47:49 [<---] : DATAThread 2: 03:47:49 [--->] : 354 go aheadThread 2: 03:47:49 [<---] : .Thread 2: 03:47:49 [--->] : 451 See [url="http://pobox.com/~djb/docs/smtplf.html"]http://pobox.com/~djb/docs/smtplf.html[/url].Thread 2: 03:47:49 [<---] : QUITThread 2: 03:47:49 [<-->] : Disconnected.Thread 2: 03:47:49 [<-->] : Error: 451 See [url="http://pobox.com/~djb/docs/smtplf.html"]http://pobox.com/~djb/docs/smtplf.html[/url].Thread 2: 03:47:50 [<-->] : Connecting to mx1-1.free.frThread 2: 03:47:50 [<-->] : Connected.Thread 2: 03:47:50 [--->] : 220 mx1-1.free.fr ESMTPThread 2: 03:47:50 [<---] : HELO nilsinspironThread 2: 03:47:50 [--->] : 250 mx1-1.free.frThread 2: 03:47:50 [<---] : RSETThread 2: 03:47:50 [--->] : 250 flushedThread 2: 03:47:50 [<---] : MAIL FROM:<nils.bay_AT_gmail.com>Thread 2: 03:47:50 [--->] : 250 okThread 2: 03:47:50 [<---] : RCPT TO:<nilsbay_AT_free.fr>Thread 2: 03:47:50 [--->] : 250 okThread 2: 03:47:50 [<---] : DATAThread 2: 03:47:50 [--->] : 354 go aheadThread 2: 03:47:50 [<---] : .Thread 2: 03:47:50 [--->] : 451 See [url="http://pobox.com/~djb/docs/smtplf.html"]http://pobox.com/~djb/docs/smtplf.html[/url].Thread 2: 03:47:50 [<---] : QUITThread 2: 03:47:50 [<-->] : Disconnected.Thread 2: 03:47:50 [<-->] : Error: 451 See [url="http://pobox.com/~djb/docs/smtplf.html"]http://pobox.com/~djb/docs/smtplf.html[/url].Total Messages: 2Sent: 0Bad: 2Left: 0Time: 8 sMsg/h: 900SMTP log closed at 4/4/2005 03:47:50 Je suis derrière une connexion Wanadoo, et j'ai bien les DNS Wanadoo positionnés sur ma machine (vérifiés chez eux), je suis aussi derrière un routeur (port 53 (DNS) ouvert). Je n'arrive pas à interpréter la log de postcast, quelqu'un sait-il ? Je ne comprends pas pourquoi ça marche avec hotmail et pas avec les autres. Quelque chose me dit que je ne dois pas fournir assez d'information avec ma fonction mail(), notament au niveau des headers, que je ne sais pas manipuler. Il semblerait que hotmail soit plus permissif que les 2 autres. Quelqu'un a-t'il une idée à ce sujet ? Merci de votre aide. (désolé pour la longueur du post, mais je ne savais pas quoi enlever) Nils.
Nils Posté 4 Avril 2005 Auteur Posté 4 Avril 2005 Bon ben Méa culpa (one again !) Alors pour info, si ça peut servir à un prochain ... L'erreur 451, signifie qu'il y a une erreur dans le message, et pas pendant le traitement. Les \n n'ont pas lieu d'être, ça passe à la ligne sans \n. Ensuite, je séparais mes $destinataires admin par un ; alors qu'il fallait une , Maintenant quelqu'un sait à quoi sert les \n ?, je les avais pourtant trouvé dans une syntaxe sur php.net, mais manifestement, ils ne servent pas à passer à la ligne ! Nils.
Nils Posté 4 Avril 2005 Auteur Posté 4 Avril 2005 Merci ZeDevil, Je ré essaye, sans les autres erreurs, ça devrait passer. (Pour le <br/> mon message n'est pas en html) merci.
ZeDevil Posté 4 Avril 2005 Posté 4 Avril 2005 (modifié) Pour ton n, il faut le mettre: "\n" Ca dépen\d d'ou il est.....avec ou sans " Modifié 4 Avril 2005 par ZeDevil
Nils Posté 4 Avril 2005 Auteur Posté 4 Avril 2005 Merci ! il y a bien qq chose comme ça, mais je ne trouve pas la syntaxe juste, mes derniers essais ne fonctionnent pas : mail($dest,"sujet","blabla '\n' blabla"); mail($dest,"sujet","blabla "\n" blabla"); sais-tu comment je dois positionner les " et les ' pour que ce soit bien internprété ? est-ce que cela marcherait mieux : mail($dest,"sujet","blabla"."\n"."blabla"); ? Merci.
Nils Posté 4 Avril 2005 Auteur Posté 4 Avril 2005 bon, ma denière proposition ("blabla"."\n"."blabla") ne va pas non plus.
ZeDevil Posté 4 Avril 2005 Posté 4 Avril 2005 Oui, je pense bien que le "blabla"."\n"."blabla" ne doit pas etre inclu dans l'envoye du mail sous cette forme, mais plutot: $message Avec lequel tu fais reference avant, et ou là tu peux mettre tes sauts de ligne
Nils Posté 4 Avril 2005 Auteur Posté 4 Avril 2005 alors on ne peut pas mettre un texte en dur avec des sauts de lignes dans mail() ? On doit passer par une variable pour avoir la gestion de saut de ligne ? (mon texte n'est pas variant) merci.
ZeDevil Posté 4 Avril 2005 Posté 4 Avril 2005 (modifié) Bah ecoute, je n'ai jamais fait comme tu le dis. Mais non, ca ne me parait pas possible. Scriptement parlant.... Meme si ton texte ne bouge jamais, il faut faire des variables, du genre: $message = "coucou c'est moi\n";$message .= "ca va ?"; Modifié 4 Avril 2005 par ZeDevil
Nils Posté 4 Avril 2005 Auteur Posté 4 Avril 2005 ok, je comprends ce que tu as mis, mais je ne comprends pas bien pourquoi on ne peut pas mettre la même chose en dur dans la fonction. En tout cas, merci beaucoup pour ton aide. Nils.
Anonymus Posté 4 Avril 2005 Posté 4 Avril 2005 Bonjour, je ne comprends pas trop le problème. Normalement, ceci doit fonctionner : mail($to,$suject,"coucou\nceci est une seconde ligne\n et ceci la 3e"); Pour info, tu as un certain nombre de caractères spéciaux : \nnouvelle ligne (hex 0A) \rretour chariot (hex 0D) \ttabulation (hex 09) utiles pour "agrémenter" ton code source de plus de clareté (et pour diverses autres raisons..)
Nils Posté 4 Avril 2005 Auteur Posté 4 Avril 2005 Hello Nico !!!!!! Et bien, content d'avoir de tes nouvelles, et une ligne de code de plus comme confirmation, mais voilà, à peu de choses près, c'est ce que j'avais mis dans mon code, et le \n dans le texte me génère une erreur dans le to ! je vois vraiment pas d'où ça peut venir, et ce qui est drôle, c'est que les retours chariots entrés dans le script sont pris en comptes ! voici ce que j'avais mis : mail("$destinataires", "Nouvelle réservation FLS !", "Bonjour, ".$_SESSION['email'].", vient de créer une nouvelle réservation dans l'espace de réservation de France Limousine Service."); remplaces les retours chariots après le bonjour par des \n, et ça marche pas, enfin, chez moi !!!
Nils Posté 5 Avril 2005 Auteur Posté 5 Avril 2005 Hello Nico, Je ne comprends pas bien ta question, je bosse là avec un serveur smtp (postcast) sur mon pc perso. Par contre, hier soir, ça marchait, et aujourd'hui, ça ne marche plus !!!, enfin, ça marche avec gmail, mais pas avec free !!!, crois-tu que j'aurais oublié des headers ou qq chose comme ça ?, je ne sais pas du tout dans quelle direction chercher. Merci, Nico.
Nils Posté 5 Avril 2005 Auteur Posté 5 Avril 2005 Bon, j'y perds mon latin, enfin mon PHP, ça s'est remis à marcher !!! Ce que j'ai fais : j'ai créé un mail(avec le strict minimum); , avant mon mail(normal); , j'ai l'impression que la première instruction mail(); à réouvert les tuyaux, ou qq chose comme ça, maintenant, j'ai enlevé le mail(minimal), et ça continue de marcher. Tu t'y connais en header pour la fonction mail() ?, je sais pas pourquoi, mais le problème je le sens par là, style, les accents qui passent pas ou autre ..., d'ailleurs mes \n ne passent toujours pas !, à moins que ce soit dans php.ini que j'ai raté une option ? Aurais-tu des pistes, je suis quasi sûr que d'ici une 10aines d'heures ça remarchera plus !!! à+, Nils.
Anonymus Posté 5 Avril 2005 Posté 5 Avril 2005 Par rapport aux headers, justement, ils sont délimités par des \n. Donc une erreur à ce niveau peut les "décaler". Seulement, si tu fais l'erreur dans le body, il ne devrait pas y avoir de problèmes. Il doit pouvoir faire la différence entre le body et les headers.
Nils Posté 5 Avril 2005 Auteur Posté 5 Avril 2005 Hello, Et bien, en fait de \n, je n'en ai plus, parce que ça marche jamais avec, mais j'ai lu sur php.net qu'on pouvait préciser des headers, mais je n'ai pas bien compris leur rôle. En tout cas, le reste de la journée, ça a bien marché. Et puis, j'ai eu aussi des pb avec free aujourd'hui, je me demande si tout ça n'est pas lié, parce qu'avec gmail, ça n'a jamais dysfonctionné. Tu connais une page qui explique à quoi servent les headers ?, pas trop la syntaxe, mais plutôt leur rôle. En tout cas, merci Nico !!! Bye, see you soon ...
Anonymus Posté 6 Avril 2005 Posté 6 Avril 2005 Jettes un oeil à un mail que tu as recu sur outlook ou autre. Essaies de voir les entetes du mail. Tu verras quelques renseignements qui sont assez importants, tels que l'expéditeur, la date d'envoi, les destinataires, la forme du mail (txt, html..) l'identifiant (par exemple Message-ID: <20050405231106.5764.qmail_AT_ns2313.ovh.net> ) etc.. Ca, ce sont les headers, qu'il est possible de modifier. Les headers d'un mail sont comme les headers d'une page. Ils sont envoyés en début de mail, et sont interprétés par le mailer du destinataire, pour décrire le mail qui va suivre.
Nils Posté 11 Avril 2005 Auteur Posté 11 Avril 2005 Re bonjour, et bien je reviens à mes problèmes d'email. Voici ce que j'exécute, avec gmail, les 2 emails arrivent, avec free, celui qui a un \n, n'arrive pas. $email = $row_qui_reserve -> email;mail("$email", "sans n Votre réservation est maintenant planifiée.", "Bonjour, sans n");mail("$email", "avec n Votre réservation est maintenant planifiée.", "Bonjour, \n jourbon"); Je ne vois pas ce que je rate avec les \n, mais sûrement qq chose !!! ??? Merci à tous. Nils.
Nils Posté 11 Avril 2005 Auteur Posté 11 Avril 2005 LA SOLTUTION ! à ce problème, j'ai fini par trouver qq chose qui marche, il ne faut pas qu'un \n mais un \r\n, il faut le retour chariot + plus aller à la ligne. Voilà, ça marche maintenant. à+. n.
Nils Posté 11 Avril 2005 Auteur Posté 11 Avril 2005 Et : il ne faut pas de retour chariot entré au clavier entre des " ".
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant