diff options
| -rw-r--r-- | CHANGELOG | 5 | ||||
| -rw-r--r-- | src/leap/mx/mail_receiver.py | 13 | 
2 files changed, 13 insertions, 5 deletions
@@ -1,3 +1,8 @@ +0.3.2 Sep 6: +  o Keep file watcher in memory to prevent losing file events. +  o Properly save the incoming mail as a doc in couch. +  o Properly parse mail address of the form "Name <user@domain>". Fixes #3653. +  0.3.1 Aug 23:    o Migrate mx functions to work on the new couchdb structure and      views. Fixes #3502. diff --git a/src/leap/mx/mail_receiver.py b/src/leap/mx/mail_receiver.py index 77e7cf4..5875034 100644 --- a/src/leap/mx/mail_receiver.py +++ b/src/leap/mx/mail_receiver.py @@ -24,6 +24,7 @@ import os  import uuid as pyuuid  import json +import email.utils  from email import message_from_string @@ -72,16 +73,16 @@ class MailReceiver(Service):          Starts the MailReceiver service          """          Service.startService(self) -        wm = inotify.INotify() -        wm.startReading() +        self.wm = inotify.INotify() +        self.wm.startReading()          mask = inotify.IN_CREATE          for directory, recursive in self._directories:              log.msg("Watching %s --- Recursive: %s" % (directory, recursive)) -            wm.watch(filepath.FilePath(directory), mask, -                     callbacks=[self._process_incoming_email], -                     recursive=recursive) +            self.wm.watch(filepath.FilePath(directory), mask, +                          callbacks=[self._process_incoming_email], +                          recursive=recursive)      def _gather_uuid_pubkey(self, results):          if len(results) < 2: @@ -168,6 +169,7 @@ class MailReceiver(Service):              uuid = 0          db = CouchDatabase(self._mail_couch_url, "user-%s" % (uuid,)) +        db.put_doc(doc)          log.msg("Done exporting") @@ -218,6 +220,7 @@ class MailReceiver(Service):                              "Delivered-To: field")                  log.msg("Mail owner: %s" % (owner,)) +                owner = email.utils.parseaddr(owner)[1]                  log.msg("%s received a new mail" % (owner,))                  dpubk = self._users_cdb.getPubKey(owner)                  duuid = self._users_cdb.queryByAddress(owner)  | 
