It seems Sieve is not working with PHP8:
=> The interface switch back to the previous panel and IMAP and SMTP are displayed in red

In the log file, we can see this error:
AH01071: Got error 'PHP message: PHP Warning: Declaration of MailSo\Sieve\ManageSieveClient::Connect($sServerName, $iPort, $iSecurityType = MailSo\Net\Enumerations\ConnectionSecurityType::AUTO_DETECT, $bVerifySsl = false, $bAllowSelfSigned = true) should be compatible with MailSo\Net\NetClient::Connect($sServerName, $iPort, $iSecurityType = MailSo\Net\Enumerations\ConnectionSecurityType::AUTO_DETECT, $bVerifySsl = false, $bAllowSelfSigned = true, $sClientCert = '') in /data/www/admin/html/rainloop/rainloop/v/1.15.0/app/libraries/MailSo/Sieve/ManageSieveClient.php on line 114'
I have the exact same error too. Using Rainloop 1.15.0 in docker
I finally managed to make work managesieve integration by downgrading to PHP 7.3. It seems there are some compatibility issues between Rainloop and PHP 8.
I finally managed to make work managesieve integration by downgrading to PHP 7.3. It seems there are some compatibility issues between Rainloop and PHP 8.
I did exactly the same...php downgrade only for Rainloop.
Issue is that the class needs to be the same as the base class.
https://github.com/the-djmaze/snappymail/blob/07f5e607800f81e60f9d0a69658f91b4b3a62942/snappymail/v/0.0.0/app/libraries/MailSo/Sieve/ManageSieveClient.php#L77
With this line:
https://github.com/the-djmaze/snappymail/blob/07f5e607800f81e60f9d0a69658f91b4b3a62942/snappymail/v/0.0.0/app/libraries/MailSo/Net/NetClient.php#L169
Note: you can't use these whole files in RainLoop!
I am still getting these error messages..
[20-Mar-2021 15:14:34] WARNING: [pool default] child 195 said into stderr: "[20-Mar-2021 15:14:34 UTC] PHP Warning: Declaration of MailSo\Sieve\ManageSieveClient::Connect($sServerName, $iPort, $iSecurityType = MailSo\Net\Enumerations\ConnectionSecurityType::AUTO_DETECT, $bVerifySsl = false, $bAllowSelfSigned = true) should be compatible with MailSo\Net\NetClient::Connect($sServerName, $iPort, $iSecurityType = MailSo\Net\Enumerations\ConnectionSecurityType::AUTO_DETECT, $bVerifySsl = false, $bAllowSelfSigned = true, $sClientCert = '') in /rainloop/rainloop/v/1.15.0/app/libraries/MailSo/Sieve/ManageSieveClient.php on line 18"
Is there anything I should do about this? As far as I can see, besides log warnings everything is working fine.
@fdisamuel ManageSieveClient.php Connect() is missing
, $sClientCert = ''
@the-djmaze So basically can I just add this variable $sClientCert = '' to the declaration at ManageSieveClient.php::Connect() ? I did this and still got warning messages.
[21-Mar-2021 16:44:26] WARNING: [pool default] child 52 said into stderr: "[21-Mar-2021 16:44:26 UTC] PHP Warning: Declaration of MailSo\Sieve\ManageSieveClient::Connect($sServerName, $iPort, $iSecurityType = MailSo\Net\Enumerations\ConnectionSecurityType::AUTO_DETECT, $bVerifySsl = false, $bAllowSelfSigned = true, string $sClientCert = '') should be compatible with MailSo\Net\NetClient::Connect($sServerName, $iPort, $iSecurityType = MailSo\Net\Enumerations\ConnectionSecurityType::AUTO_DETECT, $bVerifySsl = false, $bAllowSelfSigned = true, $sClientCert = '') in /rainloop/rainloop/v/1.15.0/app/libraries/MailSo/Sieve/ManageSieveClient.php on line 18"
Diff:
::Connect($sServerName, $iPort, $iSecurityType = MailSo\Net\Enumerations\ConnectionSecurityType::AUTO_DETECT, $bVerifySsl = false, $bAllowSelfSigned = true, string $sClientCert = '')
should be compatible with
::Connect($sServerName, $iPort, $iSecurityType = MailSo\Net\Enumerations\ConnectionSecurityType::AUTO_DETECT, $bVerifySsl = false, $bAllowSelfSigned = true, $sClientCert = '')
As you can see, remove the word 'string'
@the-djmaze thanks a lot! Now it works like a charm.