doc:appunti:linux:sa:offlineimap3_nametrans
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:appunti:linux:sa:offlineimap3_nametrans [2024/03/22 11:11] – niccolo | doc:appunti:linux:sa:offlineimap3_nametrans [2024/03/22 11:23] (current) – [The configuration file] niccolo | ||
---|---|---|---|
Line 2: | Line 2: | ||
In this page we study a case of IMAP syncronization from a source IMAP server to a Maildir structure on local disk, using the **[[https:// | In this page we study a case of IMAP syncronization from a source IMAP server to a Maildir structure on local disk, using the **[[https:// | ||
+ | |||
+ | The main issue is the need to **map the source directory tree** into a tree compatible with the receiving Maildir hierarchy. Here are the issues: | ||
The **source IMAP** server has the following characteristics: | The **source IMAP** server has the following characteristics: | ||
Line 15: | Line 17: | ||
* The " | * The " | ||
- | In this case we need a very special **nametrans** expression. | + | In this case we need a very special **nametrans** expression |
:!: **NOTICE**: The mapping of the top-level folders under the INBOX during the transfer from IMAP to Maildir prevents the reverse mapping from Maildir to IMAP, therefore only synchronization from IMAP to Maildir will be possible and not vice versa. | :!: **NOTICE**: The mapping of the top-level folders under the INBOX during the transfer from IMAP to Maildir prevents the reverse mapping from Maildir to IMAP, therefore only synchronization from IMAP to Maildir will be possible and not vice versa. | ||
+ | |||
+ | ===== Testing the nametrans option ===== | ||
It is possibile to write a simple Python script to test the **nametrans** expression: | It is possibile to write a simple Python script to test the **nametrans** expression: | ||
Line 65: | Line 69: | ||
:!: **NOTICE**: The translated name of a sub-subfolder contains the original **directory separator** (.e.g. '' | :!: **NOTICE**: The translated name of a sub-subfolder contains the original **directory separator** (.e.g. '' | ||
+ | |||
+ | ===== The configuration file ===== | ||
+ | |||
+ | This is the overall **offlineimap.conf** file: | ||
+ | |||
+ | < | ||
+ | [general] | ||
+ | accounts = CopyFromIMAP | ||
+ | |||
+ | [Account CopyFromIMAP] | ||
+ | remoterepository = OldServer | ||
+ | localrepository = NewServer | ||
+ | |||
+ | [Repository OldServer] | ||
+ | type = IMAP | ||
+ | nametrans = lambda foldername: re.sub(r' | ||
+ | remotehost = mail.oldserver.com | ||
+ | remoteuser = username@oldserver.com | ||
+ | remotepass = MySecret | ||
+ | createfolders = False | ||
+ | |||
+ | [Repository NewServer] | ||
+ | type = Maildir | ||
+ | localfolders = / | ||
+ | </ | ||
+ | |||
+ | Notice the '' | ||
+ | |||
+ | To run the command with some debugging: | ||
+ | |||
+ | < | ||
+ | offlineimap -1 -c ./ | ||
+ | </ | ||
===== Web References ===== | ===== Web References ===== |
doc/appunti/linux/sa/offlineimap3_nametrans.1711102318.txt.gz · Last modified: 2024/03/22 11:11 by niccolo