From fa2f83dbf49ae1ac271290f33b0b938b21c35178 Mon Sep 17 00:00:00 2001 From: Son Date: Wed, 16 Mar 2022 10:24:59 +0100 Subject: [PATCH] fix and refactor --- app/email/headers.py | 1 + app/email/status.py | 1 + app/email_utils.py | 7 ++----- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/email/headers.py b/app/email/headers.py index e1aaabd6..d639272c 100644 --- a/app/email/headers.py +++ b/app/email/headers.py @@ -30,6 +30,7 @@ SL_DIRECTION = "X-SimpleLogin-Type" SL_EMAIL_LOG_ID = "X-SimpleLogin-EmailLog-ID" SL_ENVELOPE_FROM = "X-SimpleLogin-Envelope-From" SL_ENVELOPE_TO = "X-SimpleLogin-Envelope-To" +SL_CLIENT_IP = "X-SimpleLogin-Client-IP" # to let Rspamd know that the message should be signed SL_WANT_SIGNING = "X-SimpleLogin-Want-Signing" diff --git a/app/email/status.py b/app/email/status.py index 6aa76ed7..e7a98277 100644 --- a/app/email/status.py +++ b/app/email/status.py @@ -19,6 +19,7 @@ E210 = "250 SL E210 Yahoo complaint handled" E211 = "250 SL E211 Bounce Forward phase handled" E212 = "250 SL E212 Bounce Reply phase handled" E213 = "250 SL E213 Unknown email ignored" +E214 = "250 SL E214 Unauthorized for using reverse alias" # endregion diff --git a/app/email_utils.py b/app/email_utils.py index e4a8e2e3..e1f0367e 100644 --- a/app/email_utils.py +++ b/app/email_utils.py @@ -1216,9 +1216,6 @@ def parse_id_from_bounce(email_address: str) -> int: return int(email_address[email_address.find("+") : email_address.rfind("+")]) -_IP_HEADER = "X-SimpleLogin-Client-IP" - - def spf_pass( envelope, mailbox: Mailbox, @@ -1227,7 +1224,7 @@ def spf_pass( contact_email: str, msg: Message, ) -> bool: - ip = msg[_IP_HEADER] + ip = msg[headers.SL_CLIENT_IP] if ip: LOG.d("Enforce SPF on %s %s", ip, envelope.mail_from) try: @@ -1273,7 +1270,7 @@ def spf_pass( else: LOG.w( "Could not find %s header %s -> %s", - _IP_HEADER, + headers.SL_CLIENT_IP, mailbox.email, contact_email, )