Only use . as an IMAP folder hierarchy separator when / does not work

This commit is contained in:
Sean Whalen
2018-08-21 13:56:10 -04:00
parent 1e130ca70a
commit 1b14147d5b
2 changed files with 14 additions and 4 deletions

View File

@@ -1,8 +1,8 @@
3.7.4
-----
- Use `.` instead of `/` as the IMAP folder hierarchy separator - fixes
dovecot support (#5)
- Use `.` instead of `/` as the IMAP folder hierarchy separator when `/`
does not work - fixes dovecot support (#5)
3.7.3
-----

View File

@@ -1087,14 +1087,24 @@ def get_dmarc_reports_from_inbox(host, user, password,
forensic_reports = []
aggregate_report_msg_uids = []
forensic_report_msg_uids = []
aggregate_reports_folder = "{0}.Aggregate".format(archive_folder)
forensic_reports_folder = "{0}.Forensic".format(archive_folder)
aggregate_reports_folder = "{0}/Aggregate".format(archive_folder)
forensic_reports_folder = "{0}Forensic".format(archive_folder)
try:
server = imapclient.IMAPClient(host, use_uid=True)
server.login(user, password)
if not server.folder_exists(archive_folder):
server.create_folder(archive_folder)
try:
if not server.folder_exists(aggregate_reports_folder):
server.create_folder(aggregate_reports_folder)
except imapclient.exceptions.IMAPClientError:
# Only replace / with . when . doesn't work
aggregate_reports_folder = aggregate_reports_folder.replace("/",
".")
forensic_reports_folder = forensic_reports_folder.replace("/",
".")
if not server.folder_exists(aggregate_reports_folder):
server.create_folder(aggregate_reports_folder)
if not server.folder_exists(forensic_reports_folder):