Adjust RecipientAwareTextMimePart for Emogrifier 4.0
authorTim Düsterhus <duesterhus@woltlab.com>
Thu, 19 Nov 2020 13:30:56 +0000 (14:30 +0100)
committerTim Düsterhus <duesterhus@woltlab.com>
Thu, 19 Nov 2020 13:31:30 +0000 (14:31 +0100)
wcfsetup/install/files/lib/system/email/mime/RecipientAwareTextMimePart.class.php

index 5b1ea91e72a325c3939f4b35134c0af08f428546..f8263ee8a2a73cd84ae997dc98775fc0a7287803 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 namespace wcf\system\email\mime;
-use Pelago\Emogrifier;
+use Pelago\Emogrifier\CssInliner;
 use wcf\data\style\ActiveStyle;
 use wcf\system\cache\builder\StyleCacheBuilder;
 use wcf\system\email\Mailbox;
@@ -73,12 +73,9 @@ class RecipientAwareTextMimePart extends TextMimePart implements IRecipientAware
                        $result = EmailTemplateEngine::getInstance()->fetch($this->template, $this->application, $this->getTemplateVariables(), true);
                        
                        if ($this->mimeType === 'text/html') {
-                               $emogrifier = new Emogrifier();
-                               $emogrifier->disableInvisibleNodeRemoval();
-                               
-                               $emogrifier->setHtml($result);
-                               
-                               $result = $emogrifier->emogrify();
+                               $result = CssInliner::fromHtml($result)
+                                       ->inlineCss()
+                                       ->render();
                        }
                        else if ($this->mimeType === 'text/plain') {
                                $result = preg_replace('~\[URL:(https?://[^\]\s]*)\]~', '<\\1>', $result);