Package ProcImap
[hide private]
[frames] | no frames]

Source Code for Package ProcImap

 1  """  
 2  The ProcImap package provides an API for the IMAP protocol, subclassing from 
 3  the "mailbox" and "email" packages provided by the Python standard library. 
 4   
 5  This allows to handle messages stored in an IMAP mailbox in much the same way 
 6  as e.g. messages stored in an mbox or maildir format (with some limitations). 
 7  This abstract interface is  much nicer than having to work with the standard 
 8  library's imaplib module, which is only a very thin wrapper around the IMAP 
 9  protocol itself. 
10   
11  In addition, ProcImap contains a number of "utility" functions and classes, 
12  targeted for automatic processing/filtering of email messages, interactive work 
13  on an an IMAP server from inside ipython, and writing consistent command line 
14  tools operating on IMAP mailboxes. 
15   
16  The original intent of the ProcImap package was to provide a framework inspired 
17  by the traditional procmail (http://www.procmail.org) tool, allowing to filter 
18  and organize incoming email messages (hence the name). However, in the course 
19  of development the focus has shifted to creating an abstract API for working 
20  with IMAP messages, while processing incoming mail has become of secondary 
21  interest.  
22   
23  Nonetheless, you can easily use ProcImap to assist in writing simple scripts 
24  that process incoming mails on your standard IMAP server. You should be advised 
25  however that many of the techniques that work fine on a standard IMAP mailbox 
26  do not work so well when trying to apply them to a Gmail account. While 
27  technically Gmail fulfills all specifications of the IMAP protocol, the 
28  philosophy behind the system is rather incompatible (look for my "Accessing 
29  Gmail through Python" blog post at michaelgoerz.net). Since Gmail is my primary 
30  email provider, this explains the shift of focus in the direction of 
31  development. 
32   
33  I use ProcImap as the basis for a new-mail-notification-tool, as well as to 
34  perform backups of my Gmail account (see http://github.com/goerz/gmailbkp). 
35  I've also used ProcImap to assist in migrating large amounts of messages 
36  between accounts, and to debug IMAP servers interactively in an ipython 
37  console. 
38  """ 
39