php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #20538 Cc: in mail won't work in some cases
Submitted: 2002-11-21 03:52 UTC Modified: 2002-11-21 10:35 UTC
From: pvy at novosoft dot ru Assigned:
Status: Closed Package: *Mail Related
PHP Version: 4.2.3 OS: windows 2000/sp3
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: pvy at novosoft dot ru
New email:
PHP Version: OS:

 

 [2002-11-21 03:52 UTC] pvy at novosoft dot ru
Hello!
I wrote small php script:
<?
error_reporting(E_ALL);
mail ('pvy@novosoft.ru','subject','body','Cc: pvy@novosoft.ru');
?>

When my SMTP server points to unix machine (sendmail/linux) all working fine.
When I set SMTP server pointed to IIS5 SMTP server (localhost) I got 'Server Error message'. 

any idea? 
vladimir

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-11-21 03:56 UTC] jan@php.net
Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions. 

Thank you for your interest in PHP.
 [2002-11-21 05:21 UTC] pvy at novosoft dot ru
Why not a bug? why bogus? 
Please look at sendmail.c in win32 directory:
	if (headers && (pos1 = strstr(headers, "Cc:"))) {
		if (NULL == (pos2 = strstr(pos1, "\r\n"))) {
			tempMailTo = estrndup(pos1, strlen(pos1));
		} else {
			tempMailTo = estrndup(pos1, pos2-pos1);
		}

		token = strtok(tempMailTo, ",");
		while(token != NULL)
		{
			sprintf(Buffer, "RCPT TO:<%s>\r\n", token);
			if ((res = Post(Buffer)) != SUCCESS)
				return (res);
			if ((res = Ack()) != SUCCESS)
				return (res);
			token = strtok(NULL, ",");
		}
		efree(tempMailTo);
	}

in this code, we can see, what in Buffer posts line like:
RCPT TO: <Cc: email@address.org> for first Cc: address and right string for (RCPT TO: <secondaddress@dot.com>)

it is really strange?

Right code:
if (headers && (pos1 = strstr(headers, "Cc:"))) {
                pos1+=3;
		if (NULL == (pos2 = strstr(pos1, "\r\n")))
......
after this procedure add:
pos1-=3;
 [2002-11-21 05:29 UTC] jan@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php4-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php4-win32-latest.zip
 [2002-11-21 10:35 UTC] joey@php.net
This bug has been fixed in CVS.

In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
 
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.

In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
 
Thank you for the report, and for helping us make PHP better.

Vladimir:
  This is fixed correctly in sendmail.c:1.32. See http://cvs.php.net/co.php/php4/win32/sendmail.c?login=2&r=1.32 for fix.

-- Joey
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Apr 18 04:01:27 2024 UTC