PHP : mail() ne marche plus :(

iMatthieu

Membre actif
31 Août 2004
383
24
41
CH - Neuchâtel
www.imatt.ch
Hello,

J'ai un problème depuis quelques temps, j'ai fuiné sur le web absoluement partout, et là je craque :(

Depuis je ne sais pas quelle Màj, la fonction mail() de php ne fonctionne plus ! Postfix est bien activé, j'ai déjà tenté 1000 configs différentes, mais rien à faire.

Selon moi, le problème vient de postfix, car un mail(..) or die() s'execute sans problème.. et dans les logs de postfix, je trouve constament ça : from=<[email protected]>, size=293, nrcpt=1 (queue active)

Merci d'avance ! :D
 
va voir ds /var/logs ce qui ce passe il est possible que postfix est un probleme de droit
et pour cette raison les mails sont stoppés regarde ds le spool et le queue de postfix aussi

:zen:
 
Merci de t'intéresser à mon problème :)

J'ai été voir dans /var/log/mail.log et voilà ce qui m'est dis :
Sep 3 11:12:58 localhost postfix/postfix-script: starting the Postfix mail system
Sep 3 11:12:58 localhost postfix/master[1595]: daemon started -- version 2.0.10
Sep 3 11:12:59 localhost postfix/pickup[1598]: C57E34B079: uid=70 from=<www>
Sep 3 11:12:59 localhost postfix/cleanup[1601]: C57E34B079: message-id=<[email protected]>
Sep 3 11:12:59 localhost postfix/qmgr[1599]: C57E34B079: from=<[email protected]>, size=293, nrcpt=1 (queue active)
Sep 3 11:13:05 localhost postfix/smtp[1603]: C57E34B079: to=<[email protected]>, relay=smtp-mx.mac.com[17.250.248.49], delay=9, status=deferred (host smtp-mx.mac.com[17.250.248.49] said: 451$
ot resolve (in reply to MAIL FROM command))

Vu le status deferred, je crois qu'ii faut que je configure postfix pour qu'il accepte les messages smtp venant de [email protected] j'ai déjà pas mal graillé les fichiers main.cf et master.fr de /etc/postfix/ mais rien à faire :( pourtant postfix fonctionne parfaitement depuis Mail..

Et je suis pas le seul a avoir ce problème, j'ai déjà ouvert un thread y'a plusieurs semaines sur xrings.net

Merci encore

PS : le xxxx@mac c'est moi qui l'ai changé
 
replace par localhost pour voir
c'est quoi ton domaine ?

et va dans le queue et ouvre le mail et son appendice
attention certains pop n'accepte les mails via une ip perso

c'est pour ca qu'il faudrait voir si il n'y a pas une réponse
qui a provoqué la mise en queue
 
En fait tous mes scripts contenant mail() marchaient parfaitement avant.. mais depuis une Màj d'apple ça va plus. C'est pas un problème de pop qui n'accepte pas mon ip je pense car ça ne va plus sur mes deux mails qui avant allaient (un .Mac et l'autre de mon provider, qui ne filtre pas grand chose).

Heuu je te comprend pas bien, je remplace quoi par localhost ? Et comment ? C'est quoi le mail et son appendice ? Je l'ouvre comment ? Désolé :rose:

Sinon par nom de domaine tu entends adresse web ? J'en ai pas, je suis en local.

Merci beaucoup pour ton aide, c'est vraiment un problème qui m'embête depuis un moment, j'avais même fais une clean-install croyant que postfix ne marchait plus...
 
Bonjour,

Je débute en PHP et je tente de créer un formulaire visant à en remplacer un autre que j'avais écrit en Javascript mais qui ne marchait pas bien.

J'ai commencé par voir si la fonction ci dessous fonctionnait

<?
mail('[email protected]','sujet','message');
?>

Mais là déjà, je rencontre une gros problème, car je ne sais pas ce qui se passe mais je ne recois pas le mail souhaité.

Je précise que les fichiers sont en local et geré par le serveur web apache de base sur Mac OS X.

J'ai été voir sur internet et j'ai lu ceci:

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.

J'en déduit que le problème vient de là, mais je ne sais vraiment pas ce qu'il faut faire car mon niveau en PHP n'est pas encore terrible!

Si quelqu'un pouvait m'éguiller, merci d'avance

David
 
possible piste / group writable directory (chmod 755 /)
ou alors recomp de la conf de sendmail ou de postfix
autorisant cela

a voir aussi

/private/var/spool/mqueue
/private/var/spool/clientmqueue
/private/var/log/mail.log

:zen:
 
Merci de ta réponse Tatouille!
C'est très sympas, mais je comprend pas trop ce que je dois faire en faite.

ça veut dire quoi ça "possible piste / group writable directory (chmod 755 /)"
Je suis désolé je ne parle pas encore tout à fait comme les vrais programmeurs

;)

David
 
Je pense qu'il te suggère un changement des autorisations (chmod) en mettant les privilèges suivants:
7 = lecture, écriture, execution) au propriétaire, 5
  • pour le propriétaire: 7 = RWX Read Write eXecute
  • pour le groupe: 5 = R-X
  • pour les autres: 5 = R-X

As-tu essayé de réparer les autorisations (Applications / Utili / Utilitaire Disque) après tes mises à jour ?
 
par default sous OSX le (HD root dir) est monté en 775 root:admin

ce qui perturbe le bon fonctionnement de sendmail ou postfix
qui par defaut prennent cela pour un trou de sécurité
donc si tu obtients dans les logs de mail /var/logs/mail.log
une erreur de type groupe writable ...

on change les attributions du root volume en
rwx -> root
r-x -> admin
tout le monde -> r-x

soit tu réinstalles sendmail ou postfix
en autorisant l'acces write au group