handle ValueError raised by parse_full_address

This commit is contained in:
Son Nguyen Kim 2021-09-22 16:39:21 +02:00
parent c5425b0a73
commit 7f5201effa
1 changed files with 18 additions and 14 deletions

View File

@ -1853,22 +1853,26 @@ def handle(envelope: Envelope) -> str:
# case where From: header is a reverse alias which should never happen
from_header = get_header_unicode(msg["From"])
if from_header:
_, from_header_address = parse_full_address(from_header)
if is_reply_email(from_header_address):
LOG.e("email sent from a reverse alias %s", from_header_address)
# get more info for debug
contact = Contact.get_by(reply_email=from_header_address)
if contact:
LOG.d("%s %s %s", contact.user, contact.alias, contact)
try:
_, from_header_address = parse_full_address(from_header)
except ValueError:
LOG.d("cannot parse the From header %s", from_header)
else:
if is_reply_email(from_header_address):
LOG.e("email sent from a reverse alias %s", from_header_address)
# get more info for debug
contact = Contact.get_by(reply_email=from_header_address)
if contact:
LOG.d("%s %s %s", contact.user, contact.alias, contact)
# To investigate. todo: remove
if TEMP_DIR:
file_name = str(uuid.uuid4()) + ".eml"
with open(os.path.join(TEMP_DIR, file_name), "wb") as f:
f.write(msg.as_bytes())
# To investigate. todo: remove
if TEMP_DIR:
file_name = str(uuid.uuid4()) + ".eml"
with open(os.path.join(TEMP_DIR, file_name), "wb") as f:
f.write(msg.as_bytes())
LOG.d("email saved to %s", file_name)
return status.E523
LOG.d("email saved to %s", file_name)
return status.E523
if rate_limited(mail_from, rcpt_tos):
LOG.w("Rate Limiting applied for mail_from:%s rcpt_tos:%s", mail_from, rcpt_tos)