imap
imap copied to clipboard
Future plans when ext-imap is gone?
OpenSUSE, SLES und RHEL dropped support for ext-imap
https://bugzilla.opensuse.org/show_bug.cgi?id=1089061
Well, dropped support doesn't mean UW-IMAP and ext-imap can't be compiled from scratch or provided by an external repository.
At the time of writing we don't have any plan to substitute ext-imap.
Moving to pure sockets would be a great improvement, but also a huge work.
I'll wait to see what other distributions will move toward this topic.
For the records: the most likely way to get away from ext-imap
is something like https://github.com/ParticleBits/imap i.e. using zend-mail (here the docs).
We'll deeply investigate whether does make sense to (1) ~reinvent the wheel~ re-implement the protocol, (2) use an external library or (3) directly deprecate the entire library.
Just to add to the discussion...
I'm building a web-based email system using this library and i'm already having to use zend-mail because imap_status, in most of my tests, only returns ['flags']=0 response or wrong values of uidnext and uidvalidity. Using zend-mail's examineOrSelect function i can get all the info i need.
Another problem of using PHP's imap, is that there isn't a easy way to get the new UID of the messages after moving/copying them... Using sockets we could get it from the response, if the imap server has the 'UIDPLUS' extension, as described in section 4.2.2.1 of this link... Right now i'm using this code below to get the UIDs, but it is VERY inefficient...
$search = new ImapSearchExpression();
$search->addCondition(new ImapSearchOn($msg->date));
$search->addCondition(new ImapSearchSubject($msg->subject));
$search->addCondition(new ImapRawExpression(
'TEXT "Message-ID: '.$msg->msg_id.'"'
));
$messages = $mailbox->getMessages($search);
if($messages->count() === 1) {
// ...
}