From 88a10dba28a53a3048f9831dfd7b3541f27d03a2 Mon Sep 17 00:00:00 2001 From: Pierre Goiffon Date: Thu, 10 Mar 2022 17:22:27 +0100 Subject: [PATCH] =?UTF-8?q?N=C2=B04824=20Update=20consumers=20after=20pela?= =?UTF-8?q?go/emogrifier=20update?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/email.class.inc.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/email.class.inc.php b/core/email.class.inc.php index 732ca37e8..9eb7853af 100644 --- a/core/email.class.inc.php +++ b/core/email.class.inc.php @@ -24,6 +24,10 @@ * @license http://opensource.org/licenses/AGPL-3.0 */ +use Pelago\Emogrifier\CssInliner; +use Pelago\Emogrifier\HtmlProcessor\CssToAttributeConverter; +use Pelago\Emogrifier\HtmlProcessor\HtmlPruner; + Swift_Preferences::getInstance()->setCharset('UTF-8'); @@ -335,8 +339,9 @@ class EMail { if (($sMimeType === 'text/html') && ($sCustomStyles !== null)) { - $emogrifier = new \Pelago\Emogrifier($sBody, $sCustomStyles); - $sBody = $emogrifier->emogrify(); // Adds html/body tags if not already present + $oDomDocument = CssInliner::fromHtml($sBody)->inlineCss($sCustomStyles)->getDomDocument(); + HtmlPruner::fromDomDocument($oDomDocument)->removeElementsWithDisplayNone(); + $sBody = CssToAttributeConverter::fromDomDocument($oDomDocument)->convertCssToVisualAttributes()->render(); // Adds html/body tags if not already present } $this->m_aData['body'] = array('body' => $sBody, 'mimeType' => $sMimeType); $this->m_oMessage->setBody($sBody, $sMimeType);