barbushin / php-imap

Manage mailboxes, filter/get/delete emails in PHP (supports IMAP/POP3/NNTP)
MIT License
1.66k stars 459 forks source link

php-imap extension removed from many distros #597

Closed kstych closed 3 years ago

kstych commented 3 years ago

Hi,

php-imap extension is removed from fedora-34 and openSUSE distors

please support php installations missing php-imap extension

https://bugzilla.redhat.com/show_bug.cgi?id=1956278 https://github.com/nextcloud/user_external/issues/44 https://github.com/roundcube/roundcubemail/blob/82974289b98d2d00251e55f1719c4522598d7ef5/program/lib/Roundcube/rcube_imap_generic.php

bapcltd-marv commented 3 years ago

as mentioned in other issues, supporting php installations that have no php-imap extension available would require implementing the IMAP protocol over sockets, which as near as I can tell is out-of-scope for this repository.

kstych commented 3 years ago

hi @bapcltd-marv , that is well received. thankyou. I would like to submit 2 points here..

  1. this is different.. if distros start dropping php-imap extension it is not same as some vendors not choosing to bundle the extension where can switch the vendors. it will render this project unusable with distros missing required dependency.
  2. there are other socket implmementations like roundcube ( https://github.com/roundcube/roundcubemail/blob/82974289b98d2d00251e55f1719c4522598d7ef5/program/lib/Roundcube/rcube_imap_generic.php ) is it possible to look at them and integrate them?
Sebbo94BY commented 3 years ago

Sorry, but I have to agree to @bapcltd-marv's comment.

The scope of this repository is to simplify the usage of the existing PHP IMAP extension. The PHP IMAP extension is required by this repository.

If there is no PHP IMAP extension, you'll need to implement a custom IMAP solution via sockets. And when you already implement such a custom solution, you won't need this repository (project) here anymore as your custom solution should already provide a simplified usage.

BTW: We also can't simply copy-paste existing code from other repositories as every code has it's own copyright.