Hi, I’ve been having problems with my email since this morning. Yesterday, May 28, 2026, my SSL certificate expired. I generated a new one overnight, but it had some naming issues.
What I did:
In the WEB GUI, after logging in, I added a new domain in the Domains tab under the name webmail.prospect.pl. After adding it, I checked the checkbox:
I deleted the added webmail domain.
I went to the Mail tab and clicked Edit next to my email. I unchecked Enable SSL, saved it, edited it again, checked Enable SSL + Use Let’s Encryp, and saved it. My email is back up – I can log in to Roundcube.
After all this, I’m now having trouble opening emails containing any images – I get the error:
"Oops… something went wrong!
An internal error has occurred. Your request cannot be processed at this time.
For administrators: Please check the application and/or server error logs for more information."
Using AI help, I managed to extract something like this from the logs (/var/log/apache2/error.log): “PHP Fatal error:
Uncaught Error: Class “IPLib\Factory” not found
in /var/lib/roundcube/program/lib/Roundcube/rcube_utils.php:438”
Use these commands (if your administration user is not admin, replace it with the right user):
v-add-user-composer admin
If it is not installed, the command will install it for the admin user and if you had it already installed, you will be informed. So, now that it is installed you can update composer packages using the full path to composer.
cd /var/lib/roundcube/
COMPOSER_ALLOW_SUPERUSER=1 /home/admin/.composer/composer -n update
php -v
PHP 8.4.21 (cli) (built: May 14 2026 15:47:48) (NTS)
Copyright (c) The PHP Group
Built by Debian
Zend Engine v4.4.21, Copyright (c) Zend Technologies
with Zend OPcache v8.4.21, Copyright (c), by Zend Technologies
I’m having the same issue with Hestia v1.9.5, Nginx and PHP 8.0 on Debian 12.14 (x86_64). In /var/log/roundcube/errors.log, I can see an error that has been recurring since today:
Change default php to 8.4 or at least to 8.1 and follow these instructions:
Install composer for administrator user, if the user is not admin replace it with the right user.
v-add-user-composer admin
If it is not installed, the command will install it for the admin user and if you had it already installed, you will be informed. So, now that it is installed you can update composer packages using the full path to composer.
cd /var/lib/roundcube/
COMPOSER_ALLOW_SUPERUSER=1 /home/admin/.composer/composer -n update
the issue with roundcube requiring php >=8.1 appears after the composer update.
the php version used to actually run roundcube afaik depends on the version the main domain uses here. so if your website still uses 7.4 or 8.0 this is something, that might not easily be switched upwards.
in this case using the composer update might not be the best approach…
roundcubes php version needs to be decoupled from the main websites php version to properly work then.
one more thing regarding this: I also found a very legacy install, where prefork is still in use for one old php version and it seems that roundcube defaults to that in this case. also something to rather avoid updating roundcube to a newer version, that requires php8.1 and newer…
you still need to run the update in /var/lib/roundcube via composer, so it can pull in the missing library like @sahsanu mentioned earlier. if you are on at least php 8.1 by then for everything, this should fix the issue.
if you depend on some older php version and/or have some weird old legacy setup with apache prefork still alive, you’d rather restore the roundcube folder from a backup. that worked for my case as well