mail() functie werkt niet
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
laat hem anders even zien
Code (php)
1
2
3
2
3
<?php
if(!mail("[email protected]","test","bericht","From: \"Naam\" <[email protected]>\r\n")) exit("Fout bij het mailen");
?>
if(!mail("[email protected]","test","bericht","From: \"Naam\" <[email protected]>\r\n")) exit("Fout bij het mailen");
?>
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)
1
2
3
2
3
<?php
if(!mail("[email protected]","test","bericht","From: Naam <[email protected]>\r\n")) exit("Fout bij het mailen");
?>
if(!mail("[email protected]","test","bericht","From: Naam <[email protected]>\r\n")) exit("Fout bij het mailen");
?>
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
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 ;)
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.
Maakt helaas geen verschil. Ik had het namelijk eerder al getest zonder de header (4e parameter).
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
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..
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
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?
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.
Elwin
Elwin