ID:               35906
 Updated by:       [EMAIL PROTECTED]
 Reported By:      brian at macserve dot net
-Status:           Open
+Status:           Assigned
 Bug Type:         Mail related
 Operating System: *
 PHP Version:      4.4.1
-Assigned To:      
+Assigned To:      derick
 New Comment:

Assigned to the maintainer.


Previous Comments:
------------------------------------------------------------------------

[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

Reply via email to