PB POSTFIX/PHP envoi de mail

Forum d'assistance et d'échange sur l'installation, la configuration, et l'utilisation des système Linux et BSD. Vous pouvez y poster vos questions concernant ces systèmes d'exploitation en faisant l'effort préalable de rechercher dans le forum, dans les manuels et les documentations que la réponse n'y figure pas.

Modérateur: modos Ixus

PB POSTFIX/PHP envoi de mail

Messagepar nemesis » 13 Mars 2005 20:30

Hello all,

Bon après avoir effectué une recherche et avoir pas mal gratté je ne trouve pas la solution à mon souci...

Le souci est que un scritp en php fait appel à la fonction mail(), le mail est sencé être bien généré (apparition de la tentative d'envoi de mail dans le log info de postfix) mais il y a un crash au niveau du programme sendmail avec l'erreur suivante :

Code: Tout sélectionner
Mar 13 19:14:57 hote sendmail[16110]: j2DIEvq16110: SYSERR(apache): Can't create transcript file ./xfj2DIEvq16110: Permission denied
Mar 13 19:14:57 hote sendmail[16110]: j2DIEvq16110: SYSERR(apache): Cannot create ./dfj2DIEvq16110: Permission denied


J'en ai déduit qu'il arrivait pas à générer deux fichier (rien de transcendant :oops: ) mais je ne vois pas quel est le répertoire concerné ni pourquoi :(.

Le sendmail à l'air lancé avec l'user apache (ça me choque pas c'est l'user sous lequel est lancé httpd) et visiblement cet user n'a pas les droits nécéssaire.

Je précise que mon php.ini à comme variable pour sendmail_path /usr/lib/sendmail -t -i et que le fameux sendmail et un lien vers /usr/sbin/sendmail.

Je me vois mal donner tout les droits à apache sur sbin et la solution lancer apache en root n'est pas une solution acceptable :roll:

Si quelqu'un peut m'apporter la lumière ça serait sympa.

Cordialement

Nemesis
Dernière édition par nemesis le 13 Mars 2005 22:03, édité 1 fois au total.
ce n'est pas parce qu'il n'y a pas de preuve qu'une chose existe qu'elle ne peut pas exister
Avatar de l’utilisateur
nemesis
Amiral
Amiral
 
Messages: 1954
Inscrit le: 01 Jan 2003 01:00
Localisation: 75

Re: PB POSTFI/PHP envoi de mail

Messagepar gwerlas » 13 Mars 2005 21:24

nemesis a écrit:Je précise que mon php.ini à comme variable pour sendmail_path /usr/lib/sendmail -t -i et que le fameux sendmail et un lien vers /usr/sbin/sendmail.


Nan, mais tu peux dire au groupe apache qu'il peut écrire dans le dossier /usr/lib/sendmail, pour voir...
Je pense que c'est là qu'il essaye de faire sa mouture, même si ton lien pointe ailleurs.
Un cynique est un optimiste fatigué d'avoir tort
Avatar de l’utilisateur
gwerlas
Lieutenant de vaisseau
Lieutenant de vaisseau
 
Messages: 203
Inscrit le: 16 Mars 2003 01:00
Localisation: Chaville

Messagepar nemesis » 13 Mars 2005 22:06

Té salut toi :D

Bon alors j'ai bidouillé un poil et j'ai trouvé qu'il fallait coller apache dans le groupe mail et donner les droits d'écriture au groupe sur /var/spool/mqueue en faisant ça l'erreur précédente disparaît par contre (et vi y'a un mais :( ) now j'ai ça :

Code: Tout sélectionner
Mar 13 21:02:05 hote sendmail[16528]: j2DK25P16527: SYSERR(apache): openmailer: insufficient   privileges to change gid


:roll:

Encore et toujours de pb de droit mais alors sur quoi ??

Merci pour votre aide

Nem.
ce n'est pas parce qu'il n'y a pas de preuve qu'une chose existe qu'elle ne peut pas exister
Avatar de l’utilisateur
nemesis
Amiral
Amiral
 
Messages: 1954
Inscrit le: 01 Jan 2003 01:00
Localisation: 75

Messagepar gwerlas » 13 Mars 2005 23:05

Salut, ça fait un baye hein ! J'étais en vacances 8) (en qq sortes)

<retour where="sur terre">
Quels sont les droits sur dossier /var/spool/mail ?
</retour>
Un cynique est un optimiste fatigué d'avoir tort
Avatar de l’utilisateur
gwerlas
Lieutenant de vaisseau
Lieutenant de vaisseau
 
Messages: 203
Inscrit le: 16 Mars 2003 01:00
Localisation: Chaville

Messagepar nemesis » 13 Mars 2005 23:40

'soir

alors : drwxrwxr-x 2 root mail 4096 mar 13 18:53 mail/

et apache est dans le groupe mail :(

Nem.
ce n'est pas parce qu'il n'y a pas de preuve qu'une chose existe qu'elle ne peut pas exister
Avatar de l’utilisateur
nemesis
Amiral
Amiral
 
Messages: 1954
Inscrit le: 01 Jan 2003 01:00
Localisation: 75

Messagepar gwerlas » 13 Mars 2005 23:46

Les droits sont les meme sur /var/spool/mqueue ?

Si tu fais un essai en positionnant les droits 777, juste le temps d'un essai, sur les dossiers /var/spool/mqueue et /var/spool/mail.
Un cynique est un optimiste fatigué d'avoir tort
Avatar de l’utilisateur
gwerlas
Lieutenant de vaisseau
Lieutenant de vaisseau
 
Messages: 203
Inscrit le: 16 Mars 2003 01:00
Localisation: Chaville

Messagepar nemesis » 13 Mars 2005 23:58

la suite....

Bon alors les droits de mqueue sont : drwxrwx--x 2 root apache 4096 mar 13 22:55 mqueue/

De plus comme j'ai directement mis apache comme groupe de mqueue j'ai tenté en mettant mail (dont apache est membre) et là ça marchait plus pour la première erreur de nouveau l'erreur de création de fichier.

Donc je me suis dit je vais mettre apache pour le groupe du rep mail/ mais non ça fontionne pas mieux toujours :

sendmail[16912]: j2DLtCW16911: SYSERR(apache): openmailer: insufficient privileges to change gid

:(

je désepère un poil a force :(

Nem.
ce n'est pas parce qu'il n'y a pas de preuve qu'une chose existe qu'elle ne peut pas exister
Avatar de l’utilisateur
nemesis
Amiral
Amiral
 
Messages: 1954
Inscrit le: 01 Jan 2003 01:00
Localisation: 75

Messagepar gwerlas » 14 Mars 2005 00:12

En surfant un peu sur le net, et après avoir tenté d'aprendre le russe et le portugais (j'aurai du cocher "page française seulement" :lol: ).

Je suis tombé sur un post (http://apache.slashdot.org/apache/02/09/08/014239.shtml?tid=107) qui mentionne un paquet, genre module PHP. Dans les paquets que tu peux installer y aurai pas un php-???? qui invoquerai l'envoi de mail ?
Un cynique est un optimiste fatigué d'avoir tort
Avatar de l’utilisateur
gwerlas
Lieutenant de vaisseau
Lieutenant de vaisseau
 
Messages: 203
Inscrit le: 16 Mars 2003 01:00
Localisation: Chaville

Messagepar nemesis » 14 Mars 2005 11:41

Il me semble (je dis bien il me semble) que le package php-sendmail est installé sur ma bécanne.

Je l'ai pas sous la main depuis le boulot donc je peux pas l'affirmer.

D'un autre côté si le package était absent je pense que le plantage serait bien plus violent que ça et que le process sendmail ne serait même pas appelé non?

Nem.
ce n'est pas parce qu'il n'y a pas de preuve qu'une chose existe qu'elle ne peut pas exister
Avatar de l’utilisateur
nemesis
Amiral
Amiral
 
Messages: 1954
Inscrit le: 01 Jan 2003 01:00
Localisation: 75

Messagepar nemesis » 15 Mars 2005 00:41

l list des package php sur ma bécane :

php-4.0.2-4mdk
mod_php-4.0.2-4mdk
php-imap-4.0.2-4mdk
php-dba_gdbm_db2-4.0.2-4mdk
php-gd-4.0.2-4mdk
php-ldap-4.0.2-4mdk
php-pgsql-4.0.2-4mdk
php-mysql-4.0.2-4mdk
php-readline-4.0.2-4mdk
php-oracle-4.0.2-1mdk

Heu j'ai regarder sur le net j'ai rien vu avec sendmail ou mail :(

C'est spé quand même cette erreur :(

Y'en a qui parle de RunAsUser j'ai vu ce tag dans le mc (il me semble) et ils disent ça :

If you have configure "RunAsUser", then add to your ".mc" file (before any MAILER lines)

MODIFY_MAILER_FLAGS(`LOCAL', `-S') You may need to make procmail setuid root for this to work.

JE comprends pas trop ce qu'ils veulent dire ni l'impact que ça a

Any clue?

Nem.
ce n'est pas parce qu'il n'y a pas de preuve qu'une chose existe qu'elle ne peut pas exister
Avatar de l’utilisateur
nemesis
Amiral
Amiral
 
Messages: 1954
Inscrit le: 01 Jan 2003 01:00
Localisation: 75

Messagepar tomtom » 15 Mars 2005 01:41

Quelques questions...

-utilises-tu RUN_AS_USER dans ton sendmail ?
- as-tu monté le niveau de log ?
- envoies-tu tes mails sur la machine locale et si oui as-tu le même problème si tu essayes d'envoyer ailleurs ?


Au pire des cas, essaye de te logguer en apache et tu fais un strace d'un envoi de mail (strace mail -s toto root)

Tu peux me mailer la sortie ca va etre trop long pour le forum


t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar nemesis » 15 Mars 2005 01:53

Hello
tomtom a écrit:Quelques questions...
-utilises-tu RUN_AS_USER dans ton sendmail ?


J'ai regardé le fichier et la ligne RunAsUser est commentée (la valeur par défaut semble être sendmail)

tomtom a écrit:- as-tu monté le niveau de log ?


Heu j'ai vaguement vu un truc à 9 dans la config mais je sais pas si c'est le max ou pas :oops:

tomtom a écrit:- envoies-tu tes mails sur la machine locale et si oui as-tu le même problème si tu essayes d'envoyer ailleurs ?


Au pire des cas, essaye de te logguer en apache et tu fais un strace d'un envoi de mail (strace mail -s toto root)

Tu peux me mailer la sortie ca va etre trop long pour le forum


t.


J'envois les mails vers une adresse extérieur, j'utilise le même serveur de mail pour mes mails "habituel" vias thunderbird ce qui semble indiquer que une requête smtp sur le port 25 de la machine d'où j'essaye d'envoyer des mails fonctionne.

Pour me logger en apache ça va être dûr il me semble pas que apache ait un shell sur la bécane de plus il me semble pas terrible de lui en donner un ( le serveur est dans ma dmz ) re :oops:

par contre j'ai la même erreur si j'envoie avec un autre user dc je vais tenter ça ;)

merci pour l'aide

Nem.
ce n'est pas parce qu'il n'y a pas de preuve qu'une chose existe qu'elle ne peut pas exister
Avatar de l’utilisateur
nemesis
Amiral
Amiral
 
Messages: 1954
Inscrit le: 01 Jan 2003 01:00
Localisation: 75

Messagepar nemesis » 15 Mars 2005 01:55

Humpf je coince je me mange un :

bash: strace: command not found

](*,)

Nem
ce n'est pas parce qu'il n'y a pas de preuve qu'une chose existe qu'elle ne peut pas exister
Avatar de l’utilisateur
nemesis
Amiral
Amiral
 
Messages: 1954
Inscrit le: 01 Jan 2003 01:00
Localisation: 75

Messagepar tomtom » 15 Mars 2005 11:14

Il faut l'installer strace....
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris


Retour vers Linux et BSD (forum généraliste)

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité