Wiki - Forum Neuf - Recherche - ADSL
Version complète: Impossible D'envoyer Un Email D'un Serveur Web En Php
Forums SFR NeufBox > Forums SFR > Forums Neuf Box > Neuf Box f@st 3302


rocchr
J'ai un serveur web+php+postgresql sur un mac. Je travaille régulièrement avec php pour fabriquer mes pages web et je voulais utiliser la fonction mail. Cependant, celle-ci ne fonctionne pas. Je m'explique. J'ai fait une page web en php envoyant un email à un correspondant. Les lumières de mon modem fonctionnent, mais l'email n'est pas reçu par le correspondant.

Quand je fais le même test en plaçant ma page chez un hébergeur, l'email est bien reçu par le correspondant.

D'où peut bien provenir le problème ? Merci d'avance pour votre aide ! sad.gif
mickey19
Dans ton php.ini, quel est ton serveur smtp ?

Si c'est localhost, il faut que tu aies un serveur SMTP installé sur ton PC.
Sinon tu peux changer le serveur (ex smtp.neuf.fr à la place de localhost) smile.gif
rocchr
Dans php.ini, j'ai :

SMTP = localhost
smtp_port = 25

Mias je n'ai pas de serveur smtp sur mon ordi. Je sais que php utilise sendmail qui est normalement ce qui remplace le serveur smtp.
mickey19
Je ne connais pas trop comment ça fonctionne exactement sous mac... essaie en mettant smtp.neuf.fr dans SMTP = et teste wink.gif
rocchr
Mon serveur externe de mail est smtp.cegetel.net alors j'ai essayé avec lui, mais cela donne le même résultat.

A titre indicatif, si peut vous aider à m'aider, contrairement à Windows, le mac travaille avec des sockets. Puisque le mail n'est pas envoyé à partir du modem alors que les lumières de celui-ci sont bien opérationnelles, c'est à dire qu'il reçoit bien la requête de l'ordi, je pensais que c'était plutôt un problème de config du modem.
mickey19
Tu as essayé sans doue mais au cas où : forums.macgeneration.com/vbulletin/showthread.php?p=4027272 unsure.gif

CITATION
J'ai directement modifié la ligne "sendmail_path" dans php.ini de la façon suivante :

sendmail_path = "sendmail -t -i -F webmaster@yoursite.com -f webmaster@yoursite.com"
omegatron
D'une part ce n'est pas un problème de modem et d'autre part cela ne marchera pas avec un serveur externe en connexion anonyme. Il faut que phpmailer emploie soit un smtp local soit qu'il fasse un relais vers un serveur externe auquel il faut transmettre aussi le compte et le mot de passe mail pour s'y authentifier afin de pouvoir expédier un message. Autrement, si tu n'as pas de serveur smtp local (sendmail, postfix, exim, etc), je vois pas comment ça pourrait partir o_0

http://stephaneey.developpez.com/tutoriel/php/phpmailer/
http://phpmailer.sourceforge.net/
rocchr
Dans l'environnement php, j'ai vérifié que j'avais bien sendmail. Donc normalement, je n'ai pas besoin d'un serveur smtp externe à mon ordi.

Je crois que omegatrom a raison.

Pour une utilisation normale de php, il m'est impératif de ne pas passer par mon serveur externe d'email (smtp.cegetel.net) mais par le sendmail.
omegatron
C'est quelle version de sendmail (v8.13) ? Parce que que phpmailer ne fait que rédiger des commandes à faire exécuter par un serveur smtp, qu'il soit local ou externe.
rocchr
Je ne sais pas mais c'est celui qui est dans /usr/sbin. Comment le savoir d'ailleurs ?
omegatron
Ok, peu importe la version pour le moment . Est-il lancé en tâche de fond, en écoute sur le port 25 ?
mickey19
Sous win, j'avais essayé il y a quelques temps d'envoyer un mail avec un smtp externe depuis mon easyphp pour tester et cela avait marché il me semble... mais je ne sais plus exactement ce que j'avais modifié.

En tout cas si tu as sendmail (donc un smtp local), normalement la commande mail devrait fonctionner (tout comme elle devrait aussi avec phpmailer) unsure.gif

Bref, je donne ma langue au chat et laisse les pros qui s'y connaissent bien te renseigner, car je risque de te faire faire un café par ta télévision à la place d'envoyer un mail par php tongue.gif
rocchr
Là j'ai atteint mon niveau d'incompétence... blush.gif

Dans la doc php, il est indiqué qu'il n'y a pas besoin d'autre chose : mail de php
omegatron
Justement il est clairement indiqué qu'il faut un service (ou un serveur) de type sendmail en écoute pour que les commandes phpmailer soient exécutées. phpmailer n'ENVOIE rien, il DEMANDE au SERVEUR de le faire. cry.gif
rocchr
Ben tout à fait d'accord, mais le sendmail dont ils parlent, il est bien chez moi dans /usr/sbin. Don a priori pas de problème.

Donc pourquoi ça marche pas ?
omegatron
CITATION(omegatron @ Jeudi 04 Janvier 2007 À 21:46) *
Est-il lancé en tâche de fond, en écoute sur le port 25 ?

Ce n'est pas parce qu'il est présent sur ton disque qu'il est en cours d'exécution.
rocchr
Ben j'en sais rien. D'après toute la doc, il n'y a rien de spécial à faire....

Par ailleurs comment savoir s'il tourne en tâche de fond ?
mickey19
En ligne de commandes (alors à adapter sous mac biggrin.gif ) essaie :

telnet localhost 25


Si quelque chose (le serveur) te répond qu'il est ready, c'est que ton serveur local est fonctionnel sur le bon port. Tu peux même envoyer un mail en manuel pour tester si ton sendmail est convenablement configuré ( www.commentcamarche.net/internet/smtp.php3 ).
rocchr
Voilà la réponse :

lolo$ telnet localhost 25
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host
lolo$
mickey19
Donc a priori c'est ton sendmail (serveur smtp local) qui n'est pas actif (il ne serait donc pas lancé)... mais attends confirmation car je ne suis pas certain que ma conclusion soit correcte unsure.gif
rocchr
J'aimerais bien savoir qui doit le lancer : apache seul ? apache grâce à une ligne de code (php.ini ou autre) ? Mac OS X ? le programmeur php (bien que ce ne soit pas dans la doc) ? cry.gif

Enfin, d'après la doc, tout semble automatique... ! blush.gif
rocchr
Si vous n'arrivez pas à envoyer un email par php à un destinataire, il peut y avoir plusieurs raisons :
- une erreur dans le codage de la fonction mail( ) (voir pour cela : http://fr.php.net/manual/fr/function.mail.php)
- un problème dans l'utilisation par php de sendmail (expliqué dans http://fr.php.net/manual/fr/ref.mail.php),
- le sendmail situé en général dans /usr/sbin ne tourne pas en tâche de fond, c'est à dire qu'il n'a pas été lancé. Donc comment voir s'il a été lancé ? Mystère... Qui le lance par défaut ? Mystère... Comment le lancer manuellement s'il n'est pas lancé automatiquement ? Mystère...
- vous n'avez pas de programme smtp de type sendmail :
+ télécharger le programme RapidSMTP sous Mac OS X http://www.versiontracker.com/dyn/moreinfo/macosx/30095,
+ ou bien faites la modif dans php.ini : sendmail_path = "sendmail -t -i -F webmaster@yoursite.com -f webmaster@yoursite.com", mais attention car dans ce cas, ce n'est plus votre ordi qui envoie l'email mais le smtp de votre fournisseur d'accès et là, cela peut être un inconvénient majeur, puisque si vous avez créé votre propre site web chez vous, c'est que justement vous cherchez à vous séparer des hébergeurs et fournisseurs d'accès...
Si vous avez passé toutes les rubriques précédentes avec succès et qu'en plus les lumières de votre modem fonctionnent prouvant que votre ordi a bien envoyé à votre modem fast 3302 l'email en question, ben... c'est votre modem qui ne fonctionne pas correctement et là, il n'y a strictement aucune information disponible... (config nécessaire éventuelle par exemple.) C'est le mystère absolu... Bien des essais ont été faits en particulier l'ouverture du port 25, par exemple, si tant est que cela pouvait améliorer la situation... Peut-être que nous n'avons pas fait les bons tests. Mais rien n'y fit ! Si quelqu'un peut améliorer cette participation, ce sera avec plaisir.
rocchr
VOILA LA REPONSE :

http://www.justneuf.com/wiki/index.php/Env...p_sous_Mac_OS_X

clap.gif clap.gif
Ceci est une version "bas débit" de Justneuf. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Powered By IP.Board © 2008 IPS, Inc.
Neuf Cegetel et vous | Réseau Neuf Cegetel | Problèmes Avec Votre Connexion ADSL | Problèmes Avec Votre Débit | Problèmes Avec Votre Activation | ADSL2+ Neuf | Forum Fibre Optique Neuf | Neuf Box Trio 2 | Neuf Box Trio 3C/D | Neuf Box f@st 3302 | Neuf Box 4 | Autres modems ADSL | Forums Neuf TV | Neuf Media Center | Problèmes rencontrés avec Neuf TV | Neuf Player ( MP9 ) | Forums Téléphonie Neuf | Forum Neuf Mobile | Forum Neuf Mobile Liberté | Forum partie commerciale Neuf | Questions Générales et Autres Services | Espace Sécurité Neuf |

Secret Story 2