Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1195 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [résolu] Fonction mail, je ne reçois rien...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu] Fonction mail, je ne reçois rien...

n°1295780
tourdball
Posté le 31-01-2006 à 18:51:40  profilanswer
 

Salut à tous,
J'ai un gros problème qui me rend fou, j'ai un formulaire qui teste les entrées et qui envoie un mail en fonction du destinataire choisi.
 
Le problème est que tout fonctionne bien  :)  ...sauf que je ne reçois jamais de mail  :fou:  j'ai meme fait le test suivant :

Code :
  1. mail("$mail", "$sujet", "$message" );
  2. if (mail("$mail", "$sujet", "$message" )) {
  3. echo "Envoi du mail réussi!";}
  4. else {
  5. echo "Echec de l'envoi du mail!";}
  6. echo $mail; //pour voir si les valeurs sont bonnes...
  7. echo $sujet; //pour voir si les valeurs sont bonnes...
  8. echo $message; //pour voir si les valeurs sont bonnes...


Et on me retourne sans cesse : "Envoi du mail réussi!" Meme quand je suis offline. J'ai fait plein de tests, sur mon ordo de dévellopement, sur un serveur web (que je n'administre pas), tout fonctionne bien mais je n'ai jamais rien reçu. J'ai modifié php.ini (SMTP = localhost ou SMTP = "adresse smtp du FAI" ) essayé différents destinataires (au cas ou le mail était considéré comme spam par le serveur) mais rien n'y a fait... Je tourne en rond...
Quelqu'un a-t-il une piste?
Merci d'avance pour vos réponses
A+  :)


Message édité par tourdball le 03-02-2006 à 10:35:19
mood
Publicité
Posté le 31-01-2006 à 18:51:40  profilanswer
 

n°1295795
Djebel1
Nul professionnel
Posté le 31-01-2006 à 18:59:09  profilanswer
 

Citation :


Retourne TRUE si le mail a été accepté pour livraison, FALSE sinon.
 
Il est important de noter que ce n'est pas parce que le mail a été accepté pour livraison qu'il arrivera à destination.


http://www.php.net/manual/fr/function.mail.php
 
Ton problème se situerait pas ici ?

Citation :

Pour que la fonction mail() soit disponible, il faut que PHP ait accès au service sendmail sur le serveur, au moment de la compilation. Si vous utilisez un autre programme de mail, comme qmail ou postfix, assurez-vous d'utiliser les bonnes API. PHP va commencer à chercher sendmail dans votre PATH, puis, dans les dossiers suivants : /usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib. Il est hautement recommandé d'avoir sendmail de disponible dans votre PATH. De plus, l'utilisateur qui compile PHP doit avoir le droit d'accéder à l'exécutable sendmail.


http://www.php.net/manual/fr/ref.mail.php
 
Jamais utilisé cette fonction, mais à mon avis la solution à ton problème est dans un des deux liens

n°1296302
omega2
Posté le 01-02-2006 à 12:52:11  profilanswer
 

En dehors de windows (pour windows je ne suis pas certain que ca soit pareil) la fonction "mail()" n'existerait pas du tout si sendmail ou un sendmail-wrapper n'était pas disponible au moment de la compilation.
 
Par contre, il est à noter que seul les versions de php pour windows ou netware sont capable d'utiliser directement les serveur SMTP. Toutes les autres versions ignorent donc les options SMTP pour la simple et bonne raison que c'est des versions qui ne disposent pas du code source nécessaire à l'utilisation d'un serveur SMTP.
 
S'il n'est pas sous windows, je suis sur que son probléme vient de là et qu'en fait il est sur un serveur dont le sendmail (ou le sendmail-wrapper) est réglé pour ne pas envoyer de mail à l'extérieur ou sur lequel ce programme n'a pas accés à un serveur DNS.

n°1296309
pcinfos
Posté le 01-02-2006 à 12:57:52  profilanswer
 

Comment peut-on vérifier la présence de sendmail ?
Si on a pas accès au serveur !!

n°1296614
tourdball
Posté le 01-02-2006 à 16:33:35  profilanswer
 

bonjour à tous et merci de vous intéresser à mon problème,
Voici ce que me dit mon phpinfo concernant l'encoi de mail :
 
sendmail_from      no value      no value
sendmail_path      /usr/sbin/sendmail -t -i       /usr/sbin/sendmail -t -i
Path to sendmail       /usr/sbin/sendmail -t -i
SMTP   localhost   localhost
 
le fichier /usr/sbin/sendmail est bel et bien présente, j'ai aussi fait un man sendmail mais je suis un peu resté bloqué...
 
bref, Qu'en dites-vous?


Message édité par tourdball le 01-02-2006 à 16:34:18
n°1296994
peter45
Posté le 01-02-2006 à 21:36:16  profilanswer
 

ta variable $mail est-elle renseignée correctement ?  
Je te conseille d'essayer avec une valeur et non pas une variable et sans fioritures, pour commencer. Le message 'envoi du mail réussi' ne veut pas dire que ton adresse est valable :

Code :
  1. mail('toto@monserveur.fr', 'un essai', 'ça marche !');


Pourquoi envoies-tu d'ailleurs deux fois le message ?

Code :
  1. #
  2. mail("$mail", "$sujet", "$message" );//une fois...
  3. #
  4. if (mail("$mail", "$sujet", "$message" )) {//deux fois... kézako ?
  5. #
  6. echo "Envoi du mail réussi!";}
  7. #
  8. else {
  9. #
  10. echo "Echec de l'envoi du mail!";}


Message édité par peter45 le 01-02-2006 à 21:36:36
n°1297201
tourdball
Posté le 02-02-2006 à 10:25:50  profilanswer
 

salut peter,
çà ne change rien... je ne sais plus quoi faire...

n°1297257
tourdball
Posté le 02-02-2006 à 11:50:01  profilanswer
 

IL semble que le problème se situe plus au niveau de la machine... en fait, le mail ne sort pas de la bécane...

n°1297409
peter45
Posté le 02-02-2006 à 14:49:25  profilanswer
 

tourdball a écrit :

salut peter,
çà ne change rien... je ne sais plus quoi faire...


As-tu essayé en local sur ta machine (avec easy php)? Tu dois paramétrer ton serveur SMTP avec celui de ton provider. Tu auras déjà ainsi la preuve que ton code est bon.
Sur quel serveur souhaites-tu faire tourner ton script ?
 
Voila ce que j'ai dans mon php ini en local-sur-ma-machine-a-moi :
 
short_open_tag On On
SMTP smtp.free.fr smtp.free.fr (pas localhost, sauf si tu as installé un serveur smtp sur ta machine))
smtp_port 25 25


Message édité par peter45 le 02-02-2006 à 14:52:37
n°1297468
omega2
Posté le 02-02-2006 à 15:23:22  profilanswer
 

peter45 > phpinfo() lui a retourné "/usr/sbin/sendmail -t -i" comme valeur du "sendmail_path", il est donc sur un serveur unix. PHP ne dispose donc pas des fonctionalités nécessaire à l'accés direct à un serveur smtp. Par contre qu'il teste son code sur un serveur sous windows pour s'assurer de la validité de son code est une bonne idée.
 
tourdball > Si tu veux pouvoir envoyer un mail depuis ce serveur là, il faut que tu demandes à l'adminsitrateur du serveur de régler le sendmail (ou le logiciel d'envoie de mail correspondant au sendmail-wrapper) pour permettre l'envoie de mail à d'autres serveurs. Tant que le programme d'envoie de mail est réglé pour ne pas envoyer à l'extérieur, tu ne pouras rien faire.

mood
Publicité
Posté le 02-02-2006 à 15:23:22  profilanswer
 

n°1298361
tourdball
Posté le 03-02-2006 à 10:31:21  profilanswer
 

Salut les gars et merci pour vos réponses,
 
En fait j'ai trouvé la solution sur un forum d'administration linux. J'ai commencé par faire des testd'envoi de mail à partir de la console pour me rendre compte qu'ils ne partaient pas, et c'est effectivement un problème de configue de postfix, voici ce que j'ai modifié :
 
j'ai modifié : /etc/postfix/main.cf à la ligne j'ai mis myhostname = wanadoo.fr au lieu de myhostname = localhost.localdomain et meme chose dans etc/mailname.
Le problème est les serveurs qui recevaient les mail voyaient comme envoyeur :"user@localhost.localdomain" et le considérait surement comme danger potentiel".
Voilà!
 
Et le mail est parti!!!
 
Enfin... :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [résolu] Fonction mail, je ne reçois rien...

 

Sujets relatifs
suite d'action dans une fonctionCherche une fonction pour 'aspirer' un fichier HTTP (une page, par ex)
[Résolu] Comment récupérer fichier binaire POSTé?Problém de mail HTML avec Outlook express
[Excel] Comment protéger une macro ? [Résolu]envoi de mail html avec images
[VBA] envoie de mail + format du mail[Résolu]Requete soustractive MySQL ?
Recherche d'une fonction qui ajoute les slashs.[resolu]global hotkeys
Plus de sujets relatifs à : [résolu] Fonction mail, je ne reçois rien...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR