ID: 9859 Comment by: admin at aesirnetworks dot com Reported By: joel at intwebservices dot com Status: Closed Bug Type: Mail related Operating System: Windows NT 4.0 PHP Version: 4.0.4pl1 New Comment:
<?php print mail('[EMAIL PROTECTED]', 'Subject', 'Your message here.', "To: The Receiver <[EMAIL PROTECTED]>\n" . "From: The Sender <[EMAIL PROTECTED]>\n" . "Cc: Interested <[EMAIL PROTECTED]>\r\n" . "X-Mailer: PHP 4.x"); ?> Fails to send with any combination of \r\n or \n, and CC, cC,Cc, and etc. Basically we are are unable to send with CC at all. Previous Comments: ------------------------------------------------------------------------ [2001-05-22 03:33:18] [EMAIL PROTECTED] If this is the case, then I'm closing this bug report and I will document the behavior under the mail function. ------------------------------------------------------------------------ [2001-05-22 01:45:29] [EMAIL PROTECTED] see also bug #10136 the facts are: mail on win32 require \r\n newlines also it is case sensitive on Cc: and Bcc: - it will not honour them if spelled any other way. here is the offending code (located in win32/sendmail.c): if (headers && (pos1 = strstr(headers, "Cc:"))) { pos2 = strstr(pos1, "\r\n"); tempMailTo = estrndup(pos1, pos2-pos1); token = strtok(tempMailTo, ","); i do not have win32 build env setup so cannot fix this ------------------------------------------------------------------------ [2001-05-21 05:06:18] [EMAIL PROTECTED] I've corrected the Cc: and Bcc: problems in the mail() example, but I'm reclassifying this as a Mail Function problem. Is it necessary for the win32 version of the mail() function to require that you use \r\n? If it is, I can add this information to the mail function docs. ------------------------------------------------------------------------ [2001-03-20 02:42:22] joel at intwebservices dot com script example: ------------------------------------------------------------------------------------------------- <?php $returnvar="false"; $mailto="[EMAIL PROTECTED]"; $mailsubject="cc test"; $mailmessage="message content"; $mailHeader="cc:[EMAIL PROTECTED]"; $returnvar=mail($mailto,$mailsubject,$mailmessage,$mailHeader); ?> <html> <body> the mail was sent? <?php echo "<br>returnvar= $returnvar<br>"; ?> </body> </html> --------------------------------------------------------------------------------- The above does not send the carbon copy. The pdf manual says: ---------------------------------------------------------------------------------------------------------- $headers .= "cc:[EMAIL PROTECTED]"; // CC to $headers .= "bcc:[EMAIL PROTECTED], [EMAIL PROTECTED]"; // BCCs to /* and now mail it */ mail($recipient, $subject, $message, $headers); ----------------------------------------------------------------------------------------------------------- That does not work since Win32 sendmail.c looks for case sensitve "Cc:" sendmail.c also does not look for "bcc:" Also you must have "\r\n" not just "\n". I think the problem is here in win32 sendmail.c : if (headers && (pos1 = strstr(headers, "Cc:"))) { pos2 = strstr(pos1, "\r\n"); tempMailTo = estrndup(pos1, pos2-pos1); ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=9859&edit=1