#30822 [Fbk->NoF]: mail function returns nothing or false, but sends mail
| From: | php-bugs at lists dot php dot net | Date: | Thu, 27 Jan 2005 00:00:11 +0000 |
| Subject: | #30822 [Fbk->NoF]: mail function returns nothing or false, but sends mail | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-72904@lists.php.net to get a copy of this message | ||
ID: 30822
Updated by: php-bugs@lists.php.net
Reported By: ligiana_s at virgilio dot it
-Status: Feedback
+Status: No Feedback
Bug Type: Mail related
Operating System: Solaris 5.8
PHP Version: 4.3.4, 5.0.2
New Comment:
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
Previous Comments:
------------------------------------------------------------------------
[2005-01-19 21:24:56] sniper@php.net
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.)
------------------------------------------------------------------------
[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: my_mail@domain.com\n";
$headers .= "X-Priority: 1\n";
$r = @mail("other_address@domain.com", $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