Combined Inbox, unread, and flagged message views for all your E-mail accounts (and
RSS feeds), as well as standard E-mail client folder navigation.
Search all your E-mail accounts and RSS feeds at once with a simple form.
Pages are comprised of only 3 HTTP requests totaling ~50KB (gzipped). Data to
populate a page from different sources is collected with parallel AJAX
requests. Output is validated HTML5 and local storage (session only) is used to
cache content for speedier reloads. All the little interface icons use
data-urls so they are served inline. With standard browser caching, pages tend
to transfer 10 to 20 KB
Simple interface translation system that does not use gettext or .po files, just
arrays of translated strings defined in PHP. Right to left languages are supported.
Module sets for IMAP, POP3, SMTP, LDAP or local contacts, WordPress, Github,
and lots more! Check out the Modules page for a
Sessions and user data can be stored in any PDO compatible database or flat
files on the server.
Authentication is flexible and currently supports POP3, IMAP, LDAP, an included
database schema, dynamic authentication using popular E-mail providers,
auto-discovery based on the user's E-mail domain, or you can roll your own with
the site module set
Sessions and Authentication can be customized without breaking any modules using
the site module set
On the server, page request processing peaks at around 4-5MB of memory (1-2 MB
with HHVM). The module system only includes PHP files required to process the
current request, so time is not wasted parsing unused code paths
All the work of processing a request and providing a response is done with
module sets. The application framework manages module assignment and provides a
controlled execution environment, but modules are where the actual work is done
There is a build process that pre-calculates module assignments and combines
and compresses page assets, making the production version of your site as fast
as possible. There is also a developer mode in which individual components are
included directly for easy debugging and module development.
The HTML5 Page structure is semantic and simple, with attention paid to