Reply only once per user even if they send it from any mailbox

This commit is contained in:
Adrià Casajús 2022-02-17 14:33:04 +01:00
parent b0ac2f871a
commit b069f81920
No known key found for this signature in database
GPG key ID: F0033226A5AFC9B9

View file

@ -2080,8 +2080,11 @@ def should_ignore(mail_from: str, rcpt_tos: List[str]) -> bool:
def send_no_reply_response(mail_from: str, msg: Message): def send_no_reply_response(mail_from: str, msg: Message):
user = User.get_by(email=mail_from) mailbox = Mailbox.get_by(email=mail_from)
if user: user = User.get(mailbox.user_id)
if not user:
LOG.d("Unknown sender. Skipping reply from {}".format(NOREPLY))
return
send_email_at_most_times( send_email_at_most_times(
user, user,
ALERT_TO_NOREPLY, ALERT_TO_NOREPLY,
@ -2089,8 +2092,6 @@ def send_no_reply_response(mail_from: str, msg: Message):
"Auto: {}".format(msg[headers.SUBJECT] or "No subject"), "Auto: {}".format(msg[headers.SUBJECT] or "No subject"),
render("transactional/noreply.text.jinja2"), render("transactional/noreply.text.jinja2"),
) )
else:
LOG.d("Unknown sender. Skipping reply from {}".format(NOREPLY))
def handle(envelope: Envelope, msg: Message) -> str: def handle(envelope: Envelope, msg: Message) -> str: