Edit report at https://bugs.php.net/bug.php?id=71726&edit=1
ID: 71726
Comment by: jonathan dot tyler at loadaccess dot net
Reported by: bugs dot php at myrosoft dot com
Summary: Headers are transformed wrongly
Status: Feedback
Type: Bug
Package: Mail related
Operating System: Windows 7
PHP Version: 7.0.4
Block user comment: N
Private report: N
New Comment:
When using the isSMTP() flag I had to use our internal mail server, smtp4dev keeps crashing with
some SSL socket connection error.
That said, it worked and the headers showed the correct ReplyTo.
I setup myself as the BCC and received the email.
-----------
Date: Mon, 8 May 2017 14:33:20 -0400
To: To Account <test@example.com>
From: Jonathan Tyler <jonathan.tyler@loadaccess.net>
Cc: CC Account <test2@example.com>
Reply-To: ReplyTo Account <no-reply@loadaccess.net>
Subject: PHP 7.1.1 email Test
Message-ID: <a7f4ba9cb99fd0981f0301f4167e6cbb@localhost>
MIME-Version: 1.0
Content-Type: text/html; charset=utf-8
Sample email test.
-------------
For your second suggested test (I switched back to localhost):
Date: Mon, 08 May 2017 14:21:09 -0400
Subject: PHP 7.1.1 email Test
To: test@example.com
X-PHP-Originating-Script: 0:mailtest.php
From: SystemMailer <mailer@example.com>
Cc: CC Account <test2@example.com>
X-Foo: foo
BX-Bar: bar
Reply-To: ReplyTo Account <test4@example.com>
Sample email test.
-----------------
It doesn't appear to have worked, as noted by the BX-Bar.
Previous Comments:
------------------------------------------------------------------------
[2017-05-08 17:42:52] requinix@php.net
I still haven't been able to reproduce either. Using PHPMailer 5.2.23.
Let's try PHPMailer without mail(). Can you do the same email but using
$mailer->isSMTP();
$mailer->Host = "localhost";
$mailer->Port = 25;
$mailer->SMTPDebug = 3;
Assuming that works correctly, try the reverse of mail() without PHPMailer:
$headers = implode("\r\n", [
"From: SystemMailer <mailer@example.com>",
"Cc: CC Account <test2@example.com>",
"X-Foo: foo",
"Bcc: BCC Account <test3@example.com>",
"X-Bar: bar",
"Reply-To: ReplyTo Account <test4@example.com>"
]);
mail("test@example.com", "PHP 7.1.1 email Test", "Sample email test.",
$headers);
------------------------------------------------------------------------
[2017-05-08 16:49:16] jonathan dot tyler at loadaccess dot net
Also, I should add, the To: column in smtp4dev shows the following:
With BCC - To: test@example.com, test2@example.com, test3@example.com
Without BCC - To: test@example.com, test2@example.com
So it does appear to be picking up the BCC email address, but it's messing up the ReplyTo in
the process.
------------------------------------------------------------------------
[2017-05-08 15:23:50] jonathan dot tyler at loadaccess dot net
Sorry this took so long to get back to, but the issue has not been resolved....
Example mailer code:
----------
/*
* Use PHPMailer with php.ini "mail function" settings.
* I'm sure just using the standard PHPMailer class without Joomla will produce the same.
*/
$mailer = JFactory::getMailer();
$mailer->LE = "\r\n"; // Line End CRLF
$mailer->isHTML(true);
$mailer->setFrom('mailer@example.com','SystemMailer');
$mailer->addRecipient('test@example.com','To Account');
$mailer->addCC('test2@example.com','CC Account');
$mailer->addBCC('test3@example.com','BCC Account');
$mailer->addReplyTo('test4@example.com','ReplyTo Account');
$mailer->setSubject('PHP 7.1.1 email Test');
$mailer->setBody('Sample email test.');
try
{
$mailer->send();
}
catch (phpmailerException $e)
{
echo $e->errorMessage();
}
catch (Exception $e)
{
echo $e->getMessage();
}
----------
Output from Smtp4Dev (with BCC):
----------
Subject: PHP 7.1.1 email Test
To: To Account <test@example.com>
X-PHP-Originating-Script: 0:class.phpmailer.php
Date: Mon, 8 May 2017 11:14:53 -0400
From: SystemMailer <mailer@example.com>
Cc: CC Account <test2@example.com>
BReply-To: ReplyTo Account <test4@example.com>
Message-ID: <e426383c205069ba6724f3ee692142fb@localhost>
MIME-Version: 1.0
Content-Type: text/html; charset=utf-8
Sample email test.
----------
Output from Smtp4Dev (without BCC):
----------
Subject: PHP 7.1.1 email Test
To: To Account <test@example.com>
X-PHP-Originating-Script: 0:class.phpmailer.php
Date: Mon, 8 May 2017 11:18:54 -0400
From: SystemMailer <mailer@example.com>
Cc: CC Account <test2@example.com>
Reply-To: ReplyTo Account <test4@example.com>
Message-ID: <820a74989fdb906369fd2be445a0d06c@localhost>
MIME-Version: 1.0
Content-Type: text/html; charset=utf-8
Sample email test.
----------
Switching around the order of the PHPMailer functions doesn't have an effect.
If I remove BCC I get the replyTo correctly, but I can't tell what happens with the BCC if I
remove the replyTo as it's not shown in smtp4dev.
------------------------------------------------------------------------
[2017-05-07 04:22:34] php-bugs at lists dot php dot net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Re-Opened". Thank you.
------------------------------------------------------------------------
[2017-04-28 17:45:06] jonathan dot tyler at loadaccess dot net
Thanks for the detailed next steps :)
I'll try and get some testing done using those methods over the weekend.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=71726
--
Edit this bug report at https://bugs.php.net/bug.php?id=71726&edit=1