GNU Info

Info Node: (python2.1-lib.info)imaplib

(python2.1-lib.info)imaplib


Next: nntplib Prev: poplib Up: Internet Protocols and Support
Enter node , (file) or (file)node

IMAP4 protocol client
=====================

IMAP4 protocol client (requires sockets).  This module was written by
Piers Lauder <piers@staff.cs.usyd.edu.au>.
This manual section was written by Piers Lauder
<piers@staff.cs.usyd.edu.au>.
This module defines a class, `IMAP4', which encapsulates a connection
to an IMAP4 server and implements a large subset of the IMAP4rev1
client protocol as defined in RFC 2060 . It is backward compatible with
IMAP4 (RFC 1730 ) servers, but note that the `STATUS' command is not
supported in IMAP4.

A single class is provided by the `imaplib' module:

`IMAP4([host[, port]])'
     This class implements the actual IMAP4 protocol.  The connection is
     created and protocol version (IMAP4 or IMAP4rev1) is determined
     when the instance is initialized.  If HOST is not specified, `'''
     (the local host) is used.  If PORT is omitted, the standard IMAP4
     port (143) is used.

Two exceptions are defined as attributes of the `IMAP4' class:

`IMAP4.error'
     Exception raised on any errors.  The reason for the exception is
     passed to the constructor as a string.

`IMAP4.abort'
     IMAP4 server errors cause this exception to be raised.  This is a
     sub-class of `IMAP4.error'.  Note that closing the instance and
     instantiating a new one will usually allow recovery from this
     exception.

`IMAP4.readonly'
     This exception is raised when a writable mailbox has its status
     changed by the server.  This is a sub-class of `IMAP4.error'.
     Some other client now has write permission, and the mailbox will
     need to be re-opened to re-obtain write permission.

The following utility functions are defined:

`Internaldate2tuple(datestr)'
     Converts an IMAP4 INTERNALDATE string to Coordinated Universal
     Time. Returns a `time' module tuple.

`Int2AP(num)'
     Converts an integer into a string representation using characters
     from the set [`A' .. `P'].

`ParseFlags(flagstr)'
     Converts an IMAP4 `FLAGS' response to a tuple of individual flags.

`Time2Internaldate(date_time)'
     Converts a `time' module tuple to an IMAP4 `INTERNALDATE'
     representation.  Returns a string in the form: `"DD-Mmm-YYYY
     HH:MM:SS +HHMM"' (including double-quotes).

Note that IMAP4 message numbers change as the mailbox changes; in
particular, after an `EXPUNGE' command performs deletions the remaining
messages are renumbered. So it is highly advisable to use UIDs instead,
with the UID command.

At the end of the module, there is a test section that contains a more
extensive example of usage.

See also:
     Documents describing the protocol, and sources and binaries  for
     servers implementing it, can all be found at the University of
     Washington's _IMAP Information Center_
     (<http://www.cac.washington.edu/imap/>).

IMAP4 Objects
IMAP4 Example

automatically generated by info2www version 1.2.2.9