ID: 30822 Updated by: [EMAIL PROTECTED] Reported By: ligiana_s at virgilio dot it -Status: Open +Status: Feedback Bug Type: Mail related Operating System: Solaris 5.8 -PHP Version: 5.0.2 +PHP Version: 4.3.4, 5.0.2 New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip PHP 5 is not the only release. We still consider PHP 4.3.x to be stable and valid release too. Try the snapshot, I can not reproduce this. (I'd also check the sendmail log(s) if it has some warning, etc. when the erronous false is returned but mail still send.) Previous Comments: ------------------------------------------------------------------------ [2004-11-18 09:28:36] ligiana_s at virgilio dot it Description: ------------ Regular use of mail() function, 4 parameters...Mail function sends mail, but it returns false or 'nothing'. I didn't find any error in any logs (php, apache,sendmail). Server: Solaris 5.8, php 5.0.2 (or 4.3.4 - it doesn't make difference!), apache 2.0 (xampp). sendmail_path /usr/lib/sendmail -t -i /usr/lib/sendmail -t -i PATH /usr/local/bin:/bin:/usr/bin:/usr/sbin:/usr/local/sbin I am not supposed to change the above PATH, but I've made even something like ln -sf /usr/lib/sendmail /usr/bin/sendmail Reproduce code: --------------- <?php $r = false; $fdate = date("d-m-Y"); $subject = "New request - $HTTP_HOST "; $msg_body = "\nDate: 15 nov 2004 \n"; $headers = "From: [EMAIL PROTECTED]"; $headers .= "X-Priority: 1\n"; $r = @mail("[EMAIL PROTECTED]", $subject, $msg_body, $headers); if($r) { echo "Mail sent"; } else { ?> <div align="center" class="main"><p><?php echo isset($r)."/".empty($r)."/Error"; ?> !!!</b></div>M <?php } ?> Expected result: ---------------- "Mail sent" when the mail was successfully accepted for delivery; "1/1/Error !!!" if the mail wasn't sent. Actual result: -------------- Sometimes returns "Mail sent", and most of the times returns "1/1/Error !!!", but in both cases the mail has been sent. I couldn't determine when is made the diference. I don't find anything in logs. I wanted to report this on 4.3.4 version, but I saw that I was not allowed and I upgraded to 5.0.2, as recommended. 5.0.2 made a mess through my software, one of the problems being the well-konwn "PHP Fatal error: Cannot re-assign $this in..". I'll get back to 4.3.4, but please let me know what should I do in order to use the mail() function properly.. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=30822&edit=1