This commit is contained in:
jedi 2024-05-04 01:46:55 +02:00
parent 4fbfaf3062
commit 90a4cea758

View file

@ -211,7 +211,7 @@ def receive_email(envelope, log=None):
# handle undelivered mail 'MAILER-DAEMON@'
if header_from.trim("<>").startswith('MAILER-DAEMON@') and envelope.mail_from.trim("<>") == "":
if header_from.strip("<>").startswith('MAILER-DAEMON@') and envelope.mail_from.strip("<>") == "":
log.warning("Ignoring mailer daemon")
raise SpecialMailException("Ignoring mailer daemon")
@ -298,11 +298,15 @@ class LMTPHandler:
return '250 Message accepted for delivery'
except SpecialMailException as e:
import uuid
random_filename = 'special-' + str(uuid.uuid4())
with open(random_filename, 'wb') as f:
f.write(content)
log.warning(f"Special mail exception: {e}")
return '250 Message accepted for delivery'
except Exception as e:
import uuid
random_filename = 'mail-' + str(uuid.uuid4())
from hashlib import sha256
random_filename = 'mail-' + sha256(content).hexdigest()
with open(random_filename, 'wb') as f:
f.write(content)
log.error(f"Saved email to {random_filename} because of error %s (%s)", e, type(e))