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