#9859 [Com]: mail() doesn't send cc or bcc as in the manual instructions

From: Date: Wed, 19 Mar 2003 10:02:50 +0000
Subject: #9859 [Com]: mail() doesn't send cc or bcc as in the manual instructions
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-35917@lists.php.net to get a copy of this message
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('admin@aesirnetworks.com', 'Subject', 'Your message here.', "To: The Receiver <admin@aesirnetworks.com>\n" . "From: The Sender <admin@aesirnetworks.com>\n" . "Cc: Interested <mike@aesirinteractive.com>\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] danbeck@php.net 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] bbonev@php.net 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] danbeck@php.net 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="you@yourdomain.com"; $mailsubject="cc test"; $mailmessage="message content"; $mailHeader="cc:otheraddress@yourdomain.com\r\n"; $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:birthdayarchive@php.net\n"; // CC to $headers .= "bcc:birthdaycheck@php.net, birthdaygifts@php.net\n"; // 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

« previous php.bugs (#35917) next »