imap = ami.imap
dest = self.evaluate(self.dest, ami, mail.msg)
imap.create(dest)
- ret, msg = imap.copy(mail.item, dest)
+ ret, msg = imap.uid("COPY", mail.item, dest)
if ret != "OK":
ami.logger.warning(
"imap copy returned %s: %s" % (ret, str(msg)))
cmd = '-FLAGS'
flag = '\\' + self.evaluate(self.flag, ami,
mail.msg)
- ret, msg = imap.store(mail.item, cmd, flag)
+ ret, msg = imap.uid("STORE", mail.item, cmd, flag)
if ret != "OK":
ami.logger.warning(
"imap store '%s %s' returned %s: %s" % (
ImapamiAction.__init__(self, terminal=True)
self.dest = dest
def process(self, ami, mail):
- ret = ImapamiActionCopy.process(
- self, ami, mail)
- if ret == False:
+ imap = ami.imap
+ dest = self.evaluate(self.dest, ami, mail.msg)
+ imap.create(dest)
+ ret, msg = imap.uid("COPY", mail.item, dest)
+ if ret != "OK":
+ ami.logger.warning(
+ "imap copy returned %s: %s" % (ret, str(msg)))
return False
- ret = ImapamiActionDelete.process(
- self, ami, mail)
- if ret == False:
+ ret, msg = imap.uid("STORE", mail.item, '+FLAGS', '\\Deleted')
+ if ret != "OK":
+ ami.logger.warning(
+ "imap delete returned %s: %s" % (ret, str(msg)))
return False
return True
register(ImapamiActionMove)