From 291ebc5f0ee3ddfee8d8c5bd731275e3b1ad87b4 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Tue, 23 Aug 2022 10:52:57 +0200 Subject: [PATCH] Bugfix: Sieve should always has CRLF https://www.rfc-editor.org/rfc/rfc5228#section-2.2 --- .../v/0.0.0/app/libraries/MailSo/Sieve/ManageSieveClient.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Sieve/ManageSieveClient.php b/snappymail/v/0.0.0/app/libraries/MailSo/Sieve/ManageSieveClient.php index 2721fa848..f37ed69e0 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Sieve/ManageSieveClient.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Sieve/ManageSieveClient.php @@ -284,7 +284,7 @@ class ManageSieveClient extends \MailSo\Net\NetClient \array_pop($aResponse); } - $sScript = \implode("\n", $aResponse); + $sScript = \implode("\r\n", $aResponse); } return $sScript; @@ -296,6 +296,7 @@ class ManageSieveClient extends \MailSo\Net\NetClient */ public function PutScript(string $sScriptName, string $sScriptSource) : self { + $sScriptSource = \preg_replace('/\r?\n/', "\r\n", $sScriptSource); $this->sendRequest('PUTSCRIPT "'.$sScriptName.'" {'.\strlen($sScriptSource).'+}'); $this->sendRequestWithCheck($sScriptSource); @@ -308,6 +309,7 @@ class ManageSieveClient extends \MailSo\Net\NetClient */ public function CheckScript(string $sScriptSource) : self { + $sScriptSource = \preg_replace('/\r?\n/', "\r\n", $sScriptSource); $this->sendRequest('CHECKSCRIPT {'.\strlen($sScriptSource).'+}'); $this->sendRequestWithCheck($sScriptSource);