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):
|
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
|
# filter stacosys e-mails
|
||||||
m = re.search(REGEX_EMAIL_SUBJECT, msg.subject, re.DOTALL)
|
m = re.search(REGEX_EMAIL_SUBJECT, msg.subject, re.DOTALL)
|
||||||
if not m:
|
if not m:
|
||||||
continue
|
return
|
||||||
|
|
||||||
comment_id = int(m.group(1))
|
comment_id = int(m.group(1))
|
||||||
submitted_token = m.group(2)
|
submitted_token = m.group(2)
|
||||||
|
@ -33,14 +42,13 @@ def fetch_mail_answers(lang, mailer: Mailer, rss: Rss, site_token):
|
||||||
# validate token
|
# validate token
|
||||||
if submitted_token != site_token:
|
if submitted_token != site_token:
|
||||||
logger.warning("ignore corrupted email. Unknown token %d" % comment_id)
|
logger.warning("ignore corrupted email. Unknown token %d" % comment_id)
|
||||||
continue
|
return
|
||||||
|
|
||||||
if not msg.plain_text_content:
|
if not msg.plain_text_content:
|
||||||
logger.warning("ignore empty email")
|
logger.warning("ignore empty email")
|
||||||
continue
|
return
|
||||||
|
|
||||||
_reply_comment_email(lang, mailer, rss, msg, comment_id)
|
_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):
|
def _reply_comment_email(lang, mailer: Mailer, rss: Rss, email: Email, comment_id):
|
||||||
|
|
Loading…
Add table
Reference in a new issue