forked from mirror/django-mailbox
archive and delete
This commit is contained in:
parent
1f6014918c
commit
b39299692a
4 changed files with 21 additions and 6 deletions
|
|
@ -251,6 +251,7 @@ class Mailbox(models.Model):
|
|||
conn = Office365Transport(
|
||||
self.location,
|
||||
self.username,
|
||||
archive=self.archive,
|
||||
folder=self.folder
|
||||
)
|
||||
conn.connect(self.client_id, self.client_secret, self.tenant_id)
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ logger = logging.getLogger(__name__)
|
|||
|
||||
class Office365Transport(EmailTransport):
|
||||
def __init__(
|
||||
self, hostname, username, folder=None
|
||||
self, hostname, username, archive='', folder=None
|
||||
):
|
||||
self.integration_testing_subject = getattr(
|
||||
settings,
|
||||
|
|
@ -18,6 +18,7 @@ class Office365Transport(EmailTransport):
|
|||
)
|
||||
self.hostname = hostname
|
||||
self.username = username
|
||||
self.archive = archive
|
||||
self.folder = folder
|
||||
|
||||
def connect(self, client_id, client_secret, tenant_id):
|
||||
|
|
@ -39,6 +40,9 @@ class Office365Transport(EmailTransport):
|
|||
self.mailbox_folder = self.mailbox.get_folder(folder_name=self.folder)
|
||||
|
||||
def get_message(self, condition=None):
|
||||
if self.archive:
|
||||
self.mailbox.create_child_folder(self.archive)
|
||||
|
||||
for message in self.mailbox.get_messages(order_by='receivedDateTime'):
|
||||
try:
|
||||
mime_content = message.get_mime_content()
|
||||
|
|
@ -50,5 +54,10 @@ class Office365Transport(EmailTransport):
|
|||
yield message
|
||||
except MessageParseError:
|
||||
continue
|
||||
|
||||
if self.archive:
|
||||
message.copy(self.archive)
|
||||
|
||||
message.delete()
|
||||
return
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue