From 48239f35066844eeb842155a88da99723e1cf84c Mon Sep 17 00:00:00 2001 From: nathangray Date: Fri, 20 Apr 2018 12:00:30 -0600 Subject: [PATCH] Fix mail merge into mail template excluded BCC --- api/src/Mail.php | 6 +++++- api/src/Mailer.php | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/api/src/Mail.php b/api/src/Mail.php index bf6be9a7c4..5fb306726f 100644 --- a/api/src/Mail.php +++ b/api/src/Mail.php @@ -7011,10 +7011,14 @@ class Mail // Parse destinations for placeholders foreach(Mailer::$type2header as $type => $h) { - $merged = $bo_merge->merge_string($mailObject->getHeader(Mailer::$type2header[$type]),$val,$e,'text/plain',array(),self::$displayCharset); + $header = $mailObject->getHeader(Mailer::$type2header[$type]); + if(is_array($header)) $header = implode(', ',$header); + $mailObject->clearAddresses($type); + $merged = $bo_merge->merge_string($header,$val,$e,'text/plain',array(),self::$displayCharset); //error_log($type . ': ' . $mailObject->getHeader(Mailer::$type2header[$type]) . ' -> ' .$merged); $mailObject->addAddress(trim($merged,'"'),'',$type); } + $mailObject->forceBccHeader(); // No addresses from placeholders? Treat it as just a contact ID if (count($mailObject->getAddresses('to',true)) == 0 && diff --git a/api/src/Mailer.php b/api/src/Mailer.php index ed8822b162..ae761a411f 100644 --- a/api/src/Mailer.php +++ b/api/src/Mailer.php @@ -763,6 +763,7 @@ class Mailer extends Horde_Mime_Mail */ function getHeader($header) { + if(strtolower($header) === 'bcc') return $this->bcc->addresses; return $this->_headers ? $this->_headers->getValue($header) : null; }