open a persistent client between the BeforeQueueHandler and postfix smtpd without content filter

This commit is contained in:
holger krekel
2023-10-19 01:10:06 +02:00
parent 7cf6cc2c91
commit fb2ea27477

View File

@@ -37,6 +37,7 @@ def check_encrypted(message):
class BeforeQueueHandler: class BeforeQueueHandler:
def __init__(self): def __init__(self):
self.send_rate_limiter = SendRateLimiter() self.send_rate_limiter = SendRateLimiter()
self.smtp = SMTPClient("localhost", "10025")
async def handle_MAIL(self, server, session, envelope, address, mail_options): async def handle_MAIL(self, server, session, envelope, address, mail_options):
logging.info(f"handle_MAIL from {address}") logging.info(f"handle_MAIL from {address}")
@@ -56,8 +57,7 @@ class BeforeQueueHandler:
if error: if error:
return error return error
logging.info("re-injecting the mail that passed checks") logging.info("re-injecting the mail that passed checks")
client = SMTPClient("localhost", "10025") self.smtp.sendmail(envelope.mail_from, envelope.rcpt_tos, envelope.content)
client.sendmail(envelope.mail_from, envelope.rcpt_tos, envelope.content)
return "250 OK" return "250 OK"