Rainloop-webmail: Sieve not working with PHP8

Created on 15 Mar 2021  路  9Comments  路  Source: RainLoop/rainloop-webmail

It seems Sieve is not working with PHP8:

  • Rainloop version: 1.15.0.
  • Browers: all
  • How to reproduce:
  • open domain configuration to edit it
  • click on "Sieve configuration"
  • Fill Sieve server
  • Click on "Test" button to ensure the configuration is working

=> The interface switch back to the previous panel and IMAP and SMTP are displayed in red

image
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'

All 9 comments

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.

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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

o--- picture o---  路  4Comments

wngroves picture wngroves  路  5Comments

mpietruschka picture mpietruschka  路  4Comments

derStephan picture derStephan  路  4Comments

HLFH picture HLFH  路  3Comments