Description
PHP’s IMAP extension is "DEPRECATED and UNBUNDLED as of PHP 8.4.0" which was released at the end of last year.
Yet various phpList utilities still rely on it, which is a bit unfortunate as those utilities are probably usually used for POP3 connections (phpList uses IMAP since they can be used for POP3 connections too).
First of all, all these months it completely blocked phpList installations and upgrades from Softaculous, which is for example the official way to install apps from cPanel. This got solved as I personally convinced them (it took some convincing) not to block because of it, and they thus released an immediate new block-less version. Here's how it looked like before they fixed it:
But now it's time to handle the fact phpList must stop relying on this unused and unsupported extension.
When you try to process bounces, you get:
Error: IMAP is not included in your PHP installation, cannot continue
Check out http://www.php.net/manual/en/ref.imap.php
Granted, there are 2 IMAP plugins that can serve as substitute, but one of them supports neither POP3 nor secure connections, the latter which makes it quite unsafe and probably unsupported in many environments. I can't even test it.
The second of them seems to have no error control, so if it fails it just returns an unknown reason:
Then one's only hope is to write in the forum and hope the plugin's author will notice.
It can work if you:
- Switch
$bounce_mailbox_port
toimap
instead ofpop3
and likewise use an IMAP port number rather than a POP3 one - partially fixed in Ignore POP settings in $bounce_mailbox_port bramley/phplist-plugin-imap2#2 - Define an actual manual hostname in
$bounce_mailbox_host
instead of justlocalhost
.
Either way, neither of these plugins was updated in years (the latter of which was updated recently after my tickets, but it may become dormant again later), so it puts phpList's future in the hands of unofficial unmaintained plugins.
Steps to reproduce
Run an IMAP utility. I've found the following to use IMAP functions - by order of importance:
- public_html/lists/admin/bounce.php - processing bounces
- public_html/lists/admin/processbounces.php - processing bounces
- public_html/lists/admin/import3.php - not sure what uses it
- public_html/lists/admin/readtestmail.php - not sure what uses it
- public_html/lists/admin/PHPMailer/class.phpmailer.php - not sure what uses it
- public_html/lists/admin/PHPMailer6/src/PHPMailer.php - not sure what uses it
Required outcome
The utility runs.
Actual result
Get an error.