Introduction

IMAPClient is an easy-to-use, Pythonic and complete IMAP client library.

Features:

  • Arguments and return values are natural Python types.
  • IMAP server responses are fully parsed and readily usable.
  • IMAP unique message IDs (UIDs) are handled transparently. There is no need to call different methods to use UIDs.
  • Escaping for internationalised mailbox names is transparently handled. Unicode mailbox names may be passed as input wherever a folder name is accepted.
  • Time zones are transparently handled including when the server and client are in different zones.
  • Convenience methods are provided for commonly used functionality.
  • Exceptions are raised when errors occur.

Python versions 2.6, 2.7, 3.2 and 3.3 are officially supported.

IMAPClient is currently at version 0.11. It is licensed under the New BSD License.

Installation

To install or upgrade via  PyPI use  pip:

pip install imapclient             # install
pip install --upgrade imapclient   # upgrade

Or using  EasyInstall:

easy_install IMAPClient            # install
easy_install --upgrade IMAPClient  # upgrade

Alternatively download one of the source archives below and follow the directions in README.

Documentation

Mailing List

Bugs and Feature Requests

Please report any bugs or feature requests using the mailing list (described above) or by emailing menno@freshfoo.com.

It used to be possible to register your own account in this Trac instance and report bugs that way but I have disabled this due to excessive spam postings. Please email me with a if you'd like an account (including the username you'd like).

Hacking

Who's Using IMAPClient?

IMAPClient is used as part of the  Inbox sync engine. Inbox also sponsor IMAPClient development.

IMAPClient is being used as part of the Mozilla Labs  Raindrop project.

IMAPClient gets used in chapter 15 of Brandon Rhodes's new edition of the book  Foundations of Python Network Programming. The examples from the book can be found  on Bitbucket.

Brian Neal's  weighmail project using IMAPClient to label Gmail messages according to their size. There's an  introduction to the project on Brian's blog.

Mathieu Agopian's  MailBot package uses IMAPClient to trigger actions as messages arrive in a mailbox.

(Let me know if you'd like your project to be included here)

This Wiki

For a complete list of local wiki pages, see TitleIndex.