Envoi de mail depuis un script php lancé depuis apache (user www)

Envoi de mail depuis un script php lancé depuis apache (user www) - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 02-01-2004 à 13:43:34    

Bonjour.
 
J'utilise Apache 1.3.28 et PHP 4.3.3 sous OpenBSD 3.4. Le programme d'envoi de mail est Postfix 2.0.13
 
C'est un probleme de droits apparemment, j'arrive a envoyer un mail lorsque je lance le script en ligne de commande en étant loggé en tant que root mais rien ne se passe depuis le apache. L'utilisateur www ne doit pas pouvoir envoyer des mails.
 
J'ai regardé un peu dans le rep de config de Postfix mais je n'ai pas trouvé.
 
Une idée ?


---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Marsh Posté le 02-01-2004 à 13:43:34   

Reply

Marsh Posté le 02-01-2004 à 13:53:06    

squirrelmail :)


---------------
Fais le ou ne le fais pas, mais il n'y a pas d'essai !!!
Reply

Marsh Posté le 02-01-2004 à 14:03:00    

ouaip mais non c'est pas du tout ce que je veux :)
 
je veux juste pouvoir automatiser l'envoi de mail a des gens qui font certaines actions sur le site web.


---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Marsh Posté le 02-01-2004 à 14:06:08    

Regarde dans le source de squirrelmail :)


---------------
Fais le ou ne le fais pas, mais il n'y a pas d'essai !!!
Reply

Marsh Posté le 02-01-2004 à 14:21:19    

regardes dans le php.ini y a des paramètres pour envoyer les mails.
Si tu ne sais pas si c'est vraiment un pb de droits, tu devrais te logguer avec ton user apache et essayer d'envoyer un mail pour voir si ça passe. Si ça passe pas regarde tes logs pour avoir plus d'infos.

Reply

Marsh Posté le 02-01-2004 à 14:21:53    

Je pense pas que l'utilisateur www ai un acces au shell :)


---------------
Fais le ou ne le fais pas, mais il n'y a pas d'essai !!!
Reply

Marsh Posté le 02-01-2004 à 14:48:57    

:)

Reply

Marsh Posté le 02-01-2004 à 15:07:23    

en effet www n'a pas de shell. personne ne sait m'aider ?


---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Marsh Posté le 03-01-2004 à 15:28:21    

heu tjs personne :/ ?


---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Marsh Posté le 03-01-2004 à 15:31:45    

modifie le /etc/passwd :D

Reply

Marsh Posté le 03-01-2004 à 15:31:45   

Reply

Marsh Posté le 03-01-2004 à 15:32:40    

Nenelle a écrit :

heu tjs personne :/ ?


bah tu lui mets un shell pour tester et t'oublies pas de l'enlever
edit grilled by black_lord  :sweat:


Message édité par nikosaka le 03-01-2004 à 15:33:41
Reply

Marsh Posté le 03-01-2004 à 17:54:07    

ah ouais donc apparemment j'ai mis un shell a www et ca marche now depuis la ligne de commande avec php tjs.
 
mais ca ne marche tjs pas depuis apache.
 
comment faire ?


---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Marsh Posté le 03-01-2004 à 19:02:57    

cherches dans tes logs, syslog , mail.log et les logs d'apache.
postes les si tu veux de l'aide

Reply

Marsh Posté le 04-01-2004 à 13:28:03    

j'ai regardé dans les logs apache, rien de special, et dans /var/logs/maillog non plus.
 
ou puis je chercher d'autre ?
 
PS : je ne sais pas si ca peut influencer mais mon apache est chrooté dans /var/www


---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Marsh Posté le 04-01-2004 à 15:29:18    

ok donc en ayant changé les httpd_flags de /etc/rc.conf j'ai mis -u cad ne plus chrooté apache, cela marche.
 
mais je veux laisser apache chrooté donc que faire ? est ce que si je fais un lien vers sendmail dans le /var/www et que je met ce lien pour sendmail_path dans php.ini ca marche ??


---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Marsh Posté le 04-01-2004 à 15:31:02    

A tester :/, si tu trouves je suis interressé par la réponse
 
:hello:


---------------
Fais le ou ne le fais pas, mais il n'y a pas d'essai !!!
Reply

Marsh Posté le 04-01-2004 à 15:32:18    

apparemment ca marche po :o
 
help :D


---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Marsh Posté le 04-01-2004 à 17:01:53    

bon bah je vais laisser mon apache en pas chrooté alors mais ca craint a mort (surtout avoir mis openbsd pr ca...)
 
si qqn trouve une soluce d'ici la je suis preneur merci.


---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Marsh Posté le 04-01-2004 à 18:57:41    

Je ne sais pas comment est configuré le chroot apache sur openbsd, mais il faut que tu arrives à inclure postfix dans ce chroot pour que ça marche. Le lien ne suffira pas (et heureusement :)).
Mais ça m'étonnerai que tu ne trouve pas de doc la-dessus.

Reply

Marsh Posté le 04-01-2004 à 20:10:37    

ben sous OpenBSD Apache est chrooté dans /var/www/
 
ce qui fait que par exemple pr pouvoir utiliser une db mysql j'ai du placer la socket mysql dans /var/www/
 
donc le seul moyen serait d'installer postfix dans /var/www/ ?
 
ca me parait bizarre, d'autant plus que c gros et qu'il y a pas mal de dependances. n'y aurait il pas une autre methode ?


---------------
http://chilax.com/forum/index.php?showforum=46 => !!!
Reply

Marsh Posté le 25-08-2004 à 19:18:41    

Nenelle,
 
Est-ce que j'ai bien compris que tu veux envoyer un mail par une page php depuis ton serveur, sur lequel tu as installé un MTA (Postfix) et cest celui qui devrait s'occuper de l'envoie?
 
ben sur ta boîte oBSD tu ne va pas pouvoir utilisé la function mail() de php. En fait tu dois essayer de te connecter depuis ton script php à postfix par smtp (port 25).
 
J'éspére tu as bien modifié le fichier de config de postfix (/etc/postfix/main.cf) pour que postfix accepte tout les connections de localhost. (je ne me rappelle plus de la ligne)
 
qqes idées:
  télécharge http://www.phpbb.com/ et regarde sous:
    phpbb/includes/smtp.php
  http://pear.php.net/package/Net_SMTP
 
xcuse pour mon français, mais je ne suis pas francophon.
 
bonne chance  
fastfx
 
[quote]read more, guess less[quote]

Reply

Marsh Posté le 26-08-2004 à 04:10:06    

fastfx a écrit :

Nenelle,
 
Est-ce que j'ai bien compris que tu veux envoyer un mail par une page php depuis ton serveur, sur lequel tu as installé un MTA (Postfix) et cest celui qui devrait s'occuper de l'envoie?
 
ben sur ta boîte oBSD tu ne va pas pouvoir utilisé la function mail() de php. En fait tu dois essayer de te connecter depuis ton script php à postfix par smtp (port 25).
 
J'éspére tu as bien modifié le fichier de config de postfix (/etc/postfix/main.cf) pour que postfix accepte tout les connections de localhost. (je ne me rappelle plus de la ligne)
 
qqes idées:
  télécharge http://www.phpbb.com/ et regarde sous:
    phpbb/includes/smtp.php
  http://pear.php.net/package/Net_SMTP
 
xcuse pour mon français, mais je ne suis pas francophon.
 
bonne chance  
fastfx
 
[quote]read more, guess less[quote]


 
C'est une solution qui fonctionne, mais comment font les hébergeurs qui activent la fonction mail() :??:  
Parce que là ca oblige à utiliser une méthode relativement complexe (niveau portabilité des sites c'est pas top)

Reply

Marsh Posté le 26-08-2004 à 09:43:08    

il y a des sendmail wrappers comme p.ex: mini_sendmail - tu e trouve dans le ports de oBSD. Mais ca implique de copier /bin/sh dans /var/www/bin/ , /etc/resolv.conf dans /var/www/etc/ si je ne me trompe pas et bien sur faire des modifs dans php.ini.
Je n'ai pas réussi à l'installer, car à l'époque mini-sendmail n'étais pas encore dans les ports.
 
Sinon tu peux aussi modifier la source de php pour que ton mail fonctionne sur ton serveur.
 
bonne chance

Reply

Marsh Posté le 14-09-2004 à 13:43:23    

up : maintenant quand j'essaie d'envoyer un mail tjs depuis un script php avec apache, j'ai dans la console du root les msg d'erreurs suivants :
 
Sep 14 13:37:02 serveur postfix[2573]: error: to submit mail, use the Postfix sendmail command
Sep 14 13:37:02 serveur postfix[2573]: error: to submit mail, use the Postfix sendmail command
Sep 14 13:37:02 serveur postfix[2573]: fatal: the postfix command is reserved for the superuser
Sep 14 13:37:02 serveur postfix[2573]: fatal: the postfix command is reserved for the superuser
 
Je ne comprend pas, faut il que www soit un utilisateur privilegié ? J'ai cherché sur les newsgroups mais sans trouver de réponse. De plus pourquoi les 2 messages s'affichent 2 fois chacun... ?
 
Merci si vous avez des idees.
 
PS : voici ma ligne sendmail dans le php.ini :
 
sendmail_path = /usr/local/sbin/sendmail -bd -q30m
 
Et j'ai de plus "de-chrooté" Apache.
 
Merci

Reply

Marsh Posté le 15-09-2004 à 17:47:50    

up !! :p

Reply

Marsh Posté le 17-09-2004 à 16:34:38    

desolé de remonter encore mais ca m'embete vraiment :(

Reply

Marsh Posté le 19-09-2004 à 18:55:54    

j'up encore...

Reply

Marsh Posté le 08-12-2004 à 13:08:37    

je suis passé en openbsd 3.6
 
ca marche tjs pas... HELP

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed