Bug #71726 [Fbk]: Headers are transformed wrongly

From: Date: Mon, 08 May 2017 19:42:07 +0000
Subject: Bug #71726 [Fbk]: Headers are transformed wrongly
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-209009@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=71726&edit=1 ID: 71726 Updated by: requinix@php.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: Reproduced! Script is that implode+mail stuff from earlier and it only happens with php-cgi.exe. However it seems to be fixed already in 7.0.18 and 7.1.4. Can you confirm that? Previous Comments: ------------------------------------------------------------------------ [2017-05-08 18:41:49] jonathan dot tyler at loadaccess dot net I just realized I should include my laptop system setup. Windows 10 Pro IIS Express PHP 7.1.1 (x86_64) Joomla 3.7.0 PHPMailer 5.2.22 I'll look and see if there's a new version of PHPMailer. Looks like I may have to manually update Joomla. ------------------------------------------------------------------------ [2017-05-08 18:37:24] jonathan dot tyler at loadaccess dot net 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. ------------------------------------------------------------------------ [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. ------------------------------------------------------------------------ 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

« previous php.bugs (#209009) next »