diff options
author | Morris Jobke <hey@morrisjobke.de> | 2018-04-18 22:38:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-18 22:38:33 +0200 |
commit | 26c153667a4442b5cddfd373dd1e05b9971a6776 (patch) | |
tree | 34dffbed1bf55600459f190aa2ea3fd7c7b4d1cb /lib | |
parent | a1c4bdfdf87a5fb4ac3722c5946d7ed595d1b9fb (diff) | |
parent | 01278056a568d987a5119573d9831832bd122d6f (diff) | |
download | nextcloud-server-26c153667a4442b5cddfd373dd1e05b9971a6776.tar.gz nextcloud-server-26c153667a4442b5cddfd373dd1e05b9971a6776.zip |
Merge pull request #9231 from nextcloud/13-9205
[stable13] Provide an option to disable HTML emails
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/Mail/Mailer.php | 3 | ||||
-rw-r--r-- | lib/private/Mail/Message.php | 20 |
2 files changed, 15 insertions, 8 deletions
diff --git a/lib/private/Mail/Mailer.php b/lib/private/Mail/Mailer.php index 0590f3db12a..542d452afe8 100644 --- a/lib/private/Mail/Mailer.php +++ b/lib/private/Mail/Mailer.php @@ -92,7 +92,8 @@ class Mailer implements IMailer { * @return IMessage */ public function createMessage() { - return new Message(new \Swift_Message()); + $plainTextOnly = $this->config->getSystemValue('mail_send_plaintext_only', false); + return new Message(new \Swift_Message(), $plainTextOnly); } /** diff --git a/lib/private/Mail/Message.php b/lib/private/Mail/Message.php index 4d9458fbd40..4b42b640356 100644 --- a/lib/private/Mail/Message.php +++ b/lib/private/Mail/Message.php @@ -38,12 +38,12 @@ use Swift_Message; class Message implements IMessage { /** @var Swift_Message */ private $swiftMessage; + /** @var bool */ + private $plainTextOnly; - /** - * @param Swift_Message $swiftMessage - */ - public function __construct(Swift_Message $swiftMessage) { + public function __construct(Swift_Message $swiftMessage, $plainTextOnly) { $this->swiftMessage = $swiftMessage; + $this->plainTextOnly = $plainTextOnly; } /** @@ -245,7 +245,9 @@ class Message implements IMessage { * @return $this */ public function setHtmlBody($body) { - $this->swiftMessage->addPart($body, 'text/html'); + if (!$this->plainTextOnly) { + $this->swiftMessage->addPart($body, 'text/html'); + } return $this; } @@ -263,7 +265,9 @@ class Message implements IMessage { * @return $this */ public function setBody($body, $contentType) { - $this->swiftMessage->setBody($body, $contentType); + if (!$this->plainTextOnly || $contentType !== 'text/html') { + $this->swiftMessage->setBody($body, $contentType); + } return $this; } @@ -274,7 +278,9 @@ class Message implements IMessage { public function useTemplate(IEMailTemplate $emailTemplate) { $this->setSubject($emailTemplate->renderSubject()); $this->setPlainBody($emailTemplate->renderText()); - $this->setHtmlBody($emailTemplate->renderHtml()); + if (!$this->plainTextOnly) { + $this->setHtmlBody($emailTemplate->renderHtml()); + } return $this; } } |