Introduction
IMAPClient aims to be an easy-to-use, idiomatic and complete IMAP client library for Python.
- 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.4 through 2.7 are currently supported. Python 3 support is in the works.
IMAPClient is currently at version 0.9.2. 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
- Send and subscribe to the mailing list by sending an email to imapclient@librelist.com
- Archives are available at http://librelist.com/browser/imapclient/
- Unsubscribe by sending an email to imapclient-unsubscribe@librelist.com
- See the librelist.com help page for general information about the 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
- The main Mercurial repo is on Bitbucket at https://bitbucket.org/mjs0/imapclient
- The HACKING document gives more information about working on IMAPClient.
Who's Using IMAPClient?
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.
