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:53:06
squirrelmail
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.
Marsh Posté le 02-01-2004 à 14:06:08
Regarde dans le source de squirrelmail
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.
Marsh Posté le 02-01-2004 à 14:21:53
Je pense pas que l'utilisateur www ai un acces au shell
Marsh Posté le 02-01-2004 à 15:07:23
en effet www n'a pas de shell. personne ne sait m'aider ?
Marsh Posté le 03-01-2004 à 15:28:21
ReplyMarsh 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
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 ?
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
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
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 ??
Marsh Posté le 04-01-2004 à 15:31:02
A tester , si tu trouves je suis interressé par la réponse
Marsh Posté le 04-01-2004 à 15:32:18
ReplyMarsh 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.
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.
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 ?
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]
Marsh Posté le 26-08-2004 à 04:10:06
fastfx a écrit : Nenelle, |
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)
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
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
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 => !!!