cypht-org / cypht

Cypht: Lightweight Open Source webmail aggregator [PHP, JS]. Supports IMAP/SMTP, JMAP and soon EWS
http://cypht.org
GNU Lesser General Public License v2.1
1.01k stars 163 forks source link

Show server support (or not) for required or desired standards, extensions and features (diagnostics) #411

Open marclaporte opened 4 years ago

marclaporte commented 4 years ago

Cypht is designed to work with standard SMTP/IMAP servers, and JMAP: https://github.com/jasonmunro/cypht/issues/180

And one day, we'll likely add support for Microsoft Exchange: https://github.com/jasonmunro/cypht/issues/247

And perhaps we'll even add more options to send email: https://dev.tiki.org/Transaction-Email-Sending-API

Furthermore, we should be in a position to take advantage of evolving standards: "This document updates RFC 3501 (IMAP4rev1) with persistent identifiers on mailboxes and messages to allow clients to more efficiently reuse cached data when resources have changed location on the server." Source: https://tools.ietf.org/html/rfc8474

With all these options, there could be some features that work differently depending on server support. Thus, we should add sections which report on features/standards supported by the servers.

As an example, in Tiki Wiki CMS Groupware, we have: "tiki-check.php is a standalone script for server environment settings diagnostics before installing Tiki, or for an existing Tiki installation. While it was designed for Tiki, and it's bundled in Tiki, it is very useful for any PHP app, as it checks over 100 different things and provides contextual feedback. Started in 2012, this script has been refined over the years and it copes with all kinds of weird edge cases." Source: https://doc.tiki.org/Server-Check

Jason wrote: "If the move extension is not supported, we fall back to copy/delete/expunge. I'm surprised this hasn't come up before. We want to take advantage of any extensions present, but we don't want to rely on them for basic functionality." Source: https://github.com/jasonmunro/cypht/issues/158#issuecomment-266117404

I hope we can leverage some existing Open Source code.

Thanks!

marclaporte commented 2 years ago

An example of why we should do this: https://github.com/jasonmunro/cypht/issues/516