mail() functie werkt niet
Ik heb nu PHP 5 op een Fedora Core 5 server. Nu ben ik een beetje aan het ontwikkelen en gebruik ik de mail()-functie. Alleen deze verstuurd geen mail. Tenminste, niet als ik het script uitvoer door middel van een request vanuit een browser.
Als ik echter inlog via SSH en op de CLI van Fedora het command php /path/naar/testbestand.php doe werkt de mail()-functie wel.
In de PHP.ini (waar ik er maar 1 van heb, dus niet twee verschillende zoals php.ini en php-cgi.ini) staat de correcte path naar sendmail (gewoon default).
Iemand enig idee waar dit aan kan liggen?
TIA!
Elwin
Als ik echter inlog via SSH en op de CLI van Fedora het command php /path/naar/testbestand.php doe werkt de mail()-functie wel.
In de PHP.ini (waar ik er maar 1 van heb, dus niet twee verschillende zoals php.ini en php-cgi.ini) staat de correcte path naar sendmail (gewoon default).
Iemand enig idee waar dit aan kan liggen?
TIA!
Elwin
Gesponsorde koppelingen:
ligt het niet aan je script?
laat hem anders even zien
laat hem anders even zien
Het ligt vanzelfsprekend niet aan het script, aangezien die vanaf de CLI wel werkt. Maar goed:
De uitvoer aangesproken met de browser is: Fout bij het mailen
De uitvoer via de CLI is niets, oftewel script is volledig uitgevoerd zonder output, wat ook klopt. In dit geval krijg ik ook het bericht binnen.
Elwin
Code (php)
De uitvoer aangesproken met de browser is: Fout bij het mailen
De uitvoer via de CLI is niets, oftewel script is volledig uitgevoerd zonder output, wat ook klopt. In dit geval krijg ik ook het bericht binnen.
Elwin
Je draait Apache op dezelfde server? Kan Apache wel bij het mailprogramma komen? Normaal hoef je niks te veranderen in php.ini wat betreft het emailpath.
Code (php)
volgens dit;
http://nl3.php.net/manual/nl/function.mail.php
hoeft \"naam\" niet tussen quotes..
anders zou ik het ook niet weten, want ik heb neit al te veel verstand van Linux :) ik ken alleen de basis zeg maar
@SanThe
Hoe bedoel je "kan Apache wel bij het mailprogramma komen"?
In phpinfo() zie ik netjes de correcte path van sendmail.
Elwin
Hoe bedoel je "kan Apache wel bij het mailprogramma komen"?
In phpinfo() zie ik netjes de correcte path van sendmail.
Elwin
het is ook geen linux maar php Geert ;)
wat SanThe denk ik bedoelt is:
Kan de gebruiker waaronder Apache draait, bij mij www-data (debian, zie voor jouw bijv. 'ps -elf') wel bij het sendmail programma en kan deze dan op zijn beurt volledig zonder fouten de mail 'versturen'?
Want dat is in weze het enige verschil. Jij voert PHP onder jouw gebruiker uit, Apache onder zijn gebruiker.
Kan de gebruiker waaronder Apache draait, bij mij www-data (debian, zie voor jouw bijv. 'ps -elf') wel bij het sendmail programma en kan deze dan op zijn beurt volledig zonder fouten de mail 'versturen'?
Want dat is in weze het enige verschil. Jij voert PHP onder jouw gebruiker uit, Apache onder zijn gebruiker.
@Geert
Maakt helaas geen verschil. Ik had het namelijk eerder al getest zonder de header (4e parameter).
Elwin
Maakt helaas geen verschil. Ik had het namelijk eerder al getest zonder de header (4e parameter).
Elwin
@Jelmer
Ja, daar had ik het hier ook net over. Bij mij draait Apache onder goup apache en user apache. Ik heb apache als trusted user aangemaakt in de sendmail configuratie en sendmail opnikeuw gestart.
Helaas geen resultaat.
Is er trouwens geen logfile van sendmail waarin de connecties worden bijgehouden?
Elwin
Ja, daar had ik het hier ook net over. Bij mij draait Apache onder goup apache en user apache. Ik heb apache als trusted user aangemaakt in de sendmail configuratie en sendmail opnikeuw gestart.
Helaas geen resultaat.
Is er trouwens geen logfile van sendmail waarin de connecties worden bijgehouden?
Elwin
Als Apache b.v. in een jail draait kan ie never nooit bij sendmail komen.
Kijk eens met 'ps au' hoe Apache draait.
Voorbeeld van Apache in een jail ziet er zo uit.
5523 ?? Is 0:15.17 httpd: parent [chroot /var/www] (httpd)
Kijk eens met 'ps au' hoe Apache draait.
Voorbeeld van Apache in een jail ziet er zo uit.
5523 ?? Is 0:15.17 httpd: parent [chroot /var/www] (httpd)
Erik:
het is ook geen linux maar php Geert ;)
ja ik weet niet of de installatie van PHP verschil maakt op de besturingssystemen, dus ik bedoel dan de PHP.ini etc..
@SanThe
Dit zegt me allemaal vrij weinig. Wat is een jail precies? (never mind, ik ga zo wel ff naar Google) Met 'ps au' heb ik niets van Apache volgens mij. Hier de volledige output:
Als ik dat command van Jelmer doe ('ps -elf') dan heb ik meerder regels met Apache. Allemaal als volgt met een ander process id:
Elwin
Dit zegt me allemaal vrij weinig. Wat is een jail precies? (never mind, ik ga zo wel ff naar Google) Met 'ps au' heb ik niets van Apache volgens mij. Hier de volledige output:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@xinix ~]# ps au
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2085 0.0 0.1 1584 408 tty1 Ss+ May11 0:00 /sbin/mingetty tty1
root 2086 0.0 0.1 1588 416 tty2 Ss+ May11 0:00 /sbin/mingetty tty2
root 2087 0.0 0.1 1588 416 tty3 Ss+ May11 0:00 /sbin/mingetty tty3
root 2088 0.0 0.1 1584 412 tty4 Ss+ May11 0:00 /sbin/mingetty tty4
root 2089 0.0 0.1 1588 416 tty5 Ss+ May11 0:00 /sbin/mingetty tty5
root 2090 0.0 0.1 1588 412 tty6 Ss+ May11 0:00 /sbin/mingetty tty6
root 2206 0.0 1.3 11988 5132 tty7 Ss+ May11 0:01 /usr/bin/Xorg :0 -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7
root 14478 0.0 0.4 4452 1480 pts/1 Ss 13:17 0:00 -bash
root 14538 0.0 0.3 4444 1456 pts/2 Ss 13:23 0:00 -bash
root 14657 0.4 0.6 6640 2276 pts/1 S+ 13:33 0:00 /usr/bin/mc -P /tmp/mc-root/mc.pwd.14478
root 14659 0.0 0.3 4452 1468 pts/3 Ss+ 13:33 0:00 bash -rcfile .bashrc
root 14694 0.0 0.2 4184 968 pts/2 R+ 13:34 0:00 ps au
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2085 0.0 0.1 1584 408 tty1 Ss+ May11 0:00 /sbin/mingetty tty1
root 2086 0.0 0.1 1588 416 tty2 Ss+ May11 0:00 /sbin/mingetty tty2
root 2087 0.0 0.1 1588 416 tty3 Ss+ May11 0:00 /sbin/mingetty tty3
root 2088 0.0 0.1 1584 412 tty4 Ss+ May11 0:00 /sbin/mingetty tty4
root 2089 0.0 0.1 1588 416 tty5 Ss+ May11 0:00 /sbin/mingetty tty5
root 2090 0.0 0.1 1588 412 tty6 Ss+ May11 0:00 /sbin/mingetty tty6
root 2206 0.0 1.3 11988 5132 tty7 Ss+ May11 0:01 /usr/bin/Xorg :0 -audit 0 -auth /var/gdm/:0.Xauth -nolisten tcp vt7
root 14478 0.0 0.4 4452 1480 pts/1 Ss 13:17 0:00 -bash
root 14538 0.0 0.3 4444 1456 pts/2 Ss 13:23 0:00 -bash
root 14657 0.4 0.6 6640 2276 pts/1 S+ 13:33 0:00 /usr/bin/mc -P /tmp/mc-root/mc.pwd.14478
root 14659 0.0 0.3 4452 1468 pts/3 Ss+ 13:33 0:00 bash -rcfile .bashrc
root 14694 0.0 0.2 4184 968 pts/2 R+ 13:34 0:00 ps au
Als ik dat command van Jelmer doe ('ps -elf') dan heb ik meerder regels met Apache. Allemaal als volgt met een ander process id:
Code (php)
1
2
2
5 S apache 14328 1 0 76 0 - 6805 359737 12:52 ? 00:00:00 /usr/sbin/httpd
5 S apache 14329 1 0 76 0 - 6805 359737 12:52 ? 00:00:00 /usr/sbin/httpd
5 S apache 14329 1 0 76 0 - 6805 359737 12:52 ? 00:00:00 /usr/sbin/httpd
Elwin
Ik denk dat het wel goed is. Er staat in ieder geval geen [chroot /var/www] bij en dat geeft aan dat ie in een jail draait.
Als je in het testbestand iets laat echoën krijg je dat dan op het scherm te zien?
Quote:
Als ik echter inlog via SSH en op de CLI van Fedora het command php /path/naar/testbestand.php doe werkt de mail()-functie wel.
Als je in het testbestand iets laat echoën krijg je dat dan op het scherm te zien?
Jup.. ik heb er even een else onder gegooid. Daarin een echo "Goed verzonden";
En die krijg ik te zien.
Elwin
En die krijg ik te zien.
Elwin
En als je nu de logfile van sendmail bekijkt en je mailt vanaf je site geeft ie dan een melding in de log of is er helemaal niks te zien.
De logfile blijft helemaal leeg.
Elwin
Elwin
Iemand van de avondploeg die een oplossing weet? :)
Elwin
Elwin



