Skip to content

Gmail labels#82

Open
scbash wants to merge 6 commits intoimapsync:masterfrom
scbash:gmail-labels
Open

Gmail labels#82
scbash wants to merge 6 commits intoimapsync:masterfrom
scbash:gmail-labels

Conversation

@scbash
Copy link

@scbash scbash commented Nov 3, 2016

Per discussion in #6, here is an implementation of converting IMAP keywords to GMail labels. I've tested it on about a year's worth of my corporate email (~3k messages), moving from Zimbra to GMail (really GSuite) which contained about 20 unique tags. That process made me add an --excludetags option to skip porting some of Zimbra's internal IMAP keywords (second commit on this branch). I also tested that Zimbra (the IMAP server I have easy access to) doesn't barf too badly if I attempt to use the X-GM-LABELS command (it simply rejects it as an invalid store command but allows the client to continue issuing other commands).

I have attempted to match the coding style of the existing code, but let me know if I missed anything really important...

Possibly useful reference material:

Thunderbird, Zimbra, and possibly other IMAP clients store user
specified tags in IMAP keywords ("flags that don't start with
backslash").  GMail simply ignores these keywords (it will store them
but otherwise doesn't use them), but using a GMail-specific IMAP
extension [1] it's possible to add GMail labels to any message.  After
uploading each message to the new server look for IMAP keywords and use
GMail's X-GM-LABELS extension to convert the keywords to labels.

[1] https://developers.google.com/gmail/imap_extensions#access_to_gmail_labels_x-gm-labels
In my own conversion from Zimbra to GMail there were several non-user
keywords that I assume Zimbra was using internally such as $Forwarded,
Forwarded (yes, both with and without the $), and $MDNSent.  Following
the folder exclude model, add a --excludetags option that accepts a
regex of tags (IMAP keywords) to not convert to GMail labels.
@gilleslamiral gilleslamiral self-assigned this Sep 2, 2018
@gilleslamiral gilleslamiral added Gmail Gmail issues Flags Flags issues labels Sep 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Flags Flags issues Gmail Gmail issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants