OfflineIMAP
{{Infobox software
| name = OfflineIMAP
| title = OfflineIMAP
| logo = OfflineIMAP logo.png
| logo caption =
| screenshot = OfflineIMAP TTYUI.png
| caption = OfflineIMAP with TTYUI interface
| author = John Goerzen
| developer = Nicolas Sebrecht et al.
| released = {{Start date and age|2002}}
| discontinued =
| programming language = Python
| operating system = Unix-like, Windows
| platform =
| size =
| language = English
| language count =
| language footnote =
| genre = Email synchronization
| license = GNU GPLv2+
| alexa =
| website = {{URL|//www.offlineimap.org}}
}}
OfflineIMAP is IMAP synchronization utility software, capable of synchronizing mail on IMAP server with local Maildir folder{{cite web|trans-title=Three tools for archiving IMAP mails|title=Drei Tools zum Archivieren von IMAP-Mails|url=http://www.linux-magazin.de/Ausgaben/2011/05/Bitparade|last=Eckenfels|first=Mela|year=2011|publisher=Linux Magazine}} or another server.
Description
The synchronization is performed bidirectionally between two endpoints ("Remote" and "Local" repositories).
OfflineIMAP accesses mail servers only via Internet Message Access Protocol. (It does not support Post Office Protocol, another popular way to get mail from a server.) It works faster (though it is sensitive to connection's latency) and supports more advanced features than most mail clients. A special mode for better handling the non-standard implementation of IMAP in Gmail may optionally be enabled in a configuration file.
When configured to store mail locally, OfflineIMAP uses the Maildir format. Unix mail boxes support may be added in the future, though currently it is not implemented.
Configuration
= Filtering and translation =
OfflineIMAP is capable of filtering the folders of Remote repository, so that only partial synchronization would occur if needed. To use this capability one has to define the mask that would be matched against the list of folders with each synchronization. This is achieved by using Python's lambda capability; for example, to synchronize only "INBOX", "Sent Mail" and "Received" folders one should specify the following rule:
folderfilter = lambda foldername: foldername in ["INBOX", "Sent Mail", "Received"]
Remaining folders' names may be altered (translated) using similar construct:
nametrans = lambda foldername: re.sub(
"^Sent$", "root/Sent", re.sub("^(\[G.*ail\]|INBOX)", "root", foldername)
)
This technique may also be used to synchronize the content of an IMAP server to the folder of another server.
= Limitations =
= User interface =
OfflineIMAP provides several command-line interfaces, including interactive color curses-based, non-interactive console logging, and several yet less verbose modes. Tk-based graphical user interface is also available.
See also
{{Portal|Free and open-source software}}
References
{{reflist|refs=
{{citation |url=http://archive09.linux.com/feature/133834 |title=OfflineIMAP makes messages and attachments available locally |first=Ben |last=Martin |work=Linux.com |date=May 6, 2008 |access-date=August 23, 2012}}
{{citation |url=http://www.linuxjournal.com/article/7232 |title=Fast Convenient Mail for Travel: OfflineIMAP |first=John |last=Goerzen |work=Linux Journal |issue=119 |date=March 2004 |issn=1075-3583 |access-date=August 23, 2012 }}
{{citation |url=http://www.techrepublic.com/blog/opensource/keep-imap-email-messages-locally-using-offlineimap/1016 |title=Keep IMAP email messages locally using OfflineIMAP |first=Vincent |last=Danen |work=TechRepublic |date=October 26, 2009 |access-date=August 23, 2012 }}
}}
{{email clients}}
Category:Free software programmed in Python
Category:Software that uses Tk (software)
Category:Articles with example Python (programming language) code
{{Use MDY dates|date=September 2012}}