no exception even if recipient list is empty
This commit is contained in:
parent
675c00209c
commit
ade3a5780f
|
|
@ -98,35 +98,35 @@ def lambda_handler(event, context):
|
|||
print(f"Empfänger nach Domain-Filter ({expected_domain}): {recipients}")
|
||||
|
||||
if not recipients:
|
||||
raise Exception("Keine Empfänger gefunden, Abbruch")
|
||||
print("Keine Empfänger gefunden, setze Metadatum und überspringe SMTP")
|
||||
else:
|
||||
# Gültige Postfächer abrufen und Empfänger filtern
|
||||
valid_inboxes = get_valid_inboxes()
|
||||
valid_recipients = [rcpt for rcpt in recipients if rcpt.lower() in valid_inboxes]
|
||||
print(f"Gültige Empfänger: {valid_recipients}")
|
||||
|
||||
# Gültige Postfächer abrufen und Empfänger filtern
|
||||
valid_inboxes = get_valid_inboxes()
|
||||
valid_recipients = [rcpt for rcpt in recipients if rcpt.lower() in valid_inboxes]
|
||||
print(f"Gültige Empfänger: {valid_recipients}")
|
||||
if valid_recipients:
|
||||
# SMTP-Verbindung und Envelope
|
||||
start = time.time()
|
||||
print("=== SMTP: Verbinde zu", MAILCOW_HOST, "Port", MAILCOW_PORT)
|
||||
with smtplib.SMTP(MAILCOW_HOST, MAILCOW_PORT, timeout=30) as smtp:
|
||||
smtp.ehlo()
|
||||
smtp.starttls()
|
||||
smtp.ehlo()
|
||||
if SMTP_USER and SMTP_PASS:
|
||||
smtp.login(SMTP_USER, SMTP_PASS)
|
||||
|
||||
if not valid_recipients:
|
||||
raise Exception("Keine gültigen Postfächer für die Empfänger gefunden, Abbruch")
|
||||
print("=== SMTP: MAIL FROM", frm_addr)
|
||||
smtp.mail(frm_addr)
|
||||
|
||||
# SMTP-Verbindung und Envelope
|
||||
start = time.time()
|
||||
print("=== SMTP: Verbinde zu", MAILCOW_HOST, "Port", MAILCOW_PORT)
|
||||
with smtplib.SMTP(MAILCOW_HOST, MAILCOW_PORT, timeout=30) as smtp:
|
||||
smtp.ehlo()
|
||||
smtp.starttls()
|
||||
smtp.ehlo()
|
||||
if SMTP_USER and SMTP_PASS:
|
||||
smtp.login(SMTP_USER, SMTP_PASS)
|
||||
for rcpt in valid_recipients:
|
||||
print("=== SMTP: RCPT TO", rcpt)
|
||||
smtp.rcpt(rcpt)
|
||||
|
||||
print("=== SMTP: MAIL FROM", frm_addr)
|
||||
smtp.mail(frm_addr)
|
||||
|
||||
for rcpt in valid_recipients:
|
||||
print("=== SMTP: RCPT TO", rcpt)
|
||||
smtp.rcpt(rcpt)
|
||||
|
||||
smtp.data(raw_bytes)
|
||||
print(f"SMTP-Transfer in {time.time()-start:.2f}s abgeschlossen ...")
|
||||
smtp.data(raw_bytes)
|
||||
print(f"SMTP-Transfer in {time.time()-start:.2f}s abgeschlossen ...")
|
||||
else:
|
||||
print("Keine gültigen Postfächer für die Empfänger gefunden, setze Metadatum und überspringe SMTP")
|
||||
|
||||
# Metadatum "processed": "true" hinzufügen
|
||||
try:
|
||||
|
|
@ -148,5 +148,5 @@ def lambda_handler(event, context):
|
|||
|
||||
return {
|
||||
'statusCode': 200,
|
||||
'body': f"E-Mail erfolgreich an {MAILCOW_HOST}:{MAILCOW_PORT} weitergeleitet ..."
|
||||
'body': f"E-Mail verarbeitet für {bucket}, SMTP-Weiterleitung: {bool(valid_recipients)}"
|
||||
}
|
||||
Loading…
Reference in New Issue