enforce inbox mngt
This commit is contained in:
parent
aac1e817bb
commit
5386c82b0e
1 changed files with 27 additions and 19 deletions
|
@ -21,11 +21,20 @@ templater = Templater(template_path)
|
|||
|
||||
|
||||
def fetch_mail_answers(lang, mailer: Mailer, rss: Rss, site_token):
|
||||
for msg in mailer.fetch():
|
||||
while True:
|
||||
msgs = mailer.fetch()
|
||||
if len(msgs) == 0:
|
||||
break
|
||||
msg = msgs[0]
|
||||
_process_answer_msg(msg, lang, mailer, rss, site_token)
|
||||
mailer.delete(msg.id)
|
||||
|
||||
|
||||
def _process_answer_msg(msg, lang, mailer: Mailer, rss: Rss, site_token):
|
||||
# filter stacosys e-mails
|
||||
m = re.search(REGEX_EMAIL_SUBJECT, msg.subject, re.DOTALL)
|
||||
if not m:
|
||||
continue
|
||||
return
|
||||
|
||||
comment_id = int(m.group(1))
|
||||
submitted_token = m.group(2)
|
||||
|
@ -33,14 +42,13 @@ def fetch_mail_answers(lang, mailer: Mailer, rss: Rss, site_token):
|
|||
# validate token
|
||||
if submitted_token != site_token:
|
||||
logger.warning("ignore corrupted email. Unknown token %d" % comment_id)
|
||||
continue
|
||||
return
|
||||
|
||||
if not msg.plain_text_content:
|
||||
logger.warning("ignore empty email")
|
||||
continue
|
||||
return
|
||||
|
||||
_reply_comment_email(lang, mailer, rss, msg, comment_id)
|
||||
mailer.delete(msg.id)
|
||||
|
||||
|
||||
def _reply_comment_email(lang, mailer: Mailer, rss: Rss, email: Email, comment_id):
|
||||
|
|
Loading…
Add table
Reference in a new issue