6.0.0-git
2024-04-25
Last Modified 2011-05-24 by Michael Slusarz

Horde IMAP Client library

This library presents a fully abstracted interface to an IMAP server. It provides a native-PHP driver that is significantly faster, more feature-rich, and extensible as opposed to PHP's imap (c-client) extension.

Additionally, the library allows for abstracted access to POP3 servers via a native-PHP driver.

C-client drivers for both IMAP and POP3 are also provided as proof-of-concept.

People

Michael Slusarz created the library.

Description

The Socket library, which IMP 5.x uses for IMAP access, supports the following RFCs:

http://git.horde.org/co.php/framework/Imap_Client/lib/Horde/Imap/Client/Socket.php?rt=horde-git

Additionally, the class includes a UTF-8 to UTF7-IMAP converter, an IMAP mailbox sorter, and an abstracted caching library.

The library requires PHP 5.2.0+.

Features

  • Fast. Horde_Imap_Client is orders of magnitude faster than the PHP imap extension (benchmarks to come).
    • The PHP imap extension produces tremendously inefficient IMAP queries. Horde_Imap_Client has been ruthlessly tuned to eliminate duplicate/unneeded queries.
  • Memory efficient. Horde_Imap_Client handles message data (which can easily be 10+ MB) entirely within PHP temporary streams. No more than 2 MB of a large data objects is stored in memory at any time.
  • Built-in caching. No need to muck around with caching message data; this is all handled internally. Further, Horde_Imap_Client uses Horde_Cache which means that a large variety of caching options are available to use - anything from temporary files, SQL databases, to memcache servers can be used to cache this data.
  • Standards compliant. Horde_Imap_Client is strictly RFC compliant.
    • Additionally, Horde_Imap_Client implements important core functionality that may not be available on your server. Threading and FULL sorting (not a limited subset) are always available, regardless of whether your IMAP server supports the THREAD/SORT extensions.
  • Liberally commented code. It may not be perfect. But at least we try to give you some idea of what's going on in there.
  • Easy debugging. Full IMAP logs are available via a single configuration option.
  • Advanced features.

Resources

The library code can be found at http://git.horde.org/horde-git/-/browse/framework/Imap_Client/
Developer documentation (API) can be found at http://dev.horde.org/api/framework/Imap_Client/


Back to the Project List