ID: 35906
Updated by: [EMAIL PROTECTED]
Reported By: brian at macserve dot net
-Status: Assigned
+Status: Open
Bug Type: Mail related
-Operating System: *
+Operating System: Windows
PHP Version: 4.4.1
Assigned To: derick
New Comment:
I am not the maintainer of Win32 mail code, I don't even have windows
so I can't test this. This is not a problem on any other OS than
Windows either, as that doesn't use the sendmail.c code.
Previous Comments:
------------------------------------------------------------------------
[2006-01-05 21:33:38] [EMAIL PROTECTED]
Assigned to the maintainer.
------------------------------------------------------------------------
[2006-01-05 16:27:17] brian at macserve dot net
Description:
------------
The Date header that is generated in the mail() command is not RFC
compliant in that it generates 2 spaces right before the day of the
month, when there should only be one.
This trips spam filters that are looking for sloppy programming by
spammers.
Interstingly, date('r') produces a correctly spaced date:
Thu, 05 Jan 2006 08:51:13 -0600
Probably because the day of month is padded.
line 716 from 4.4.1's sendmail.c:
sprintf(header_buffer, "Date: %s, %02d %s %04d %02d:%02d:%02d
%s%02d%02d\r\n",
Looks like this was fixed in the 5.x branch by changing this to
effectively use: date('r') in response to bug # 29334
line 706:
char *dt = php_format_date("r", 1, tNow, 1 TSRMLS_CC);
sprintf(header_buffer, "Date: %s\r\n", dt);
Reproduce code:
---------------
$toAddress = '[EMAIL PROTECTED]';
$fromAddress = '[EMAIL PROTECTED]';
$extraParams = '-f'.$fromAddress;
$subj = 'Test Date Hdr';
$emailMsg = 'Test Message';
echo mail($toAddress, $subj, $emailMsg, '', $extraParams);
Expected result:
----------------
Date: Thu, 5 Jan 2006 08:51:03 -0600 (CST)
Actual result:
--------------
Date: Thu, 5 Jan 2006 08:51:03 -0600 (CST)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=35906&edit=1