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
ligt het niet aan je script?
laat hem anders even zien
Het ligt vanzelfsprekend niet aan het script, aangezien die vanaf de CLI wel werkt. Maar goed:

<?php
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.
@SanThe
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.
@Geert
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
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)

Reageren