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

Reply via email to