]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Handle tags for gmail email accounts
authorStefan <stefan@sisao.de>
Wed, 17 Aug 2022 08:40:51 +0000 (10:40 +0200)
committerTrenton Holmes <holmes.trenton@gmail.com>
Sat, 20 Aug 2022 20:15:38 +0000 (13:15 -0700)
like mentioned here: https://github.com/ikvk/imap_tools/issues/174

src/paperless_mail/mail.py

index e1357d95896060d26612317a4f65d4f0b9798d21..e7991e25b35b9af625c0c57c9615e552647b11ec 100644 (file)
@@ -1,4 +1,5 @@
 import os
+import re
 import tempfile
 from datetime import date
 from datetime import timedelta
@@ -70,7 +71,11 @@ class TagMailAction(BaseMailAction):
         return {"no_keyword": self.keyword}
 
     def post_consume(self, M: MailBox, message_uids, parameter):
-        M.flag(message_uids, [self.keyword], True)
+        if re.search(r"gmail\.com$|googlemail\.com$", M._host):
+            for uid in message_uids:
+                M.client.uid("STORE", uid, 'X-GM-LABELS', self.keyword)
+        else:
+            M.flag(message_uids, [self.keyword], True)
 
 
 def get_rule_action(rule):