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