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}")
|
print(f"Empfänger nach Domain-Filter ({expected_domain}): {recipients}")
|
||||||
|
|
||||||
if not 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
|
if valid_recipients:
|
||||||
valid_inboxes = get_valid_inboxes()
|
# SMTP-Verbindung und Envelope
|
||||||
valid_recipients = [rcpt for rcpt in recipients if rcpt.lower() in valid_inboxes]
|
start = time.time()
|
||||||
print(f"Gültige Empfänger: {valid_recipients}")
|
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:
|
print("=== SMTP: MAIL FROM", frm_addr)
|
||||||
raise Exception("Keine gültigen Postfächer für die Empfänger gefunden, Abbruch")
|
smtp.mail(frm_addr)
|
||||||
|
|
||||||
# SMTP-Verbindung und Envelope
|
for rcpt in valid_recipients:
|
||||||
start = time.time()
|
print("=== SMTP: RCPT TO", rcpt)
|
||||||
print("=== SMTP: Verbinde zu", MAILCOW_HOST, "Port", MAILCOW_PORT)
|
smtp.rcpt(rcpt)
|
||||||
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)
|
|
||||||
|
|
||||||
print("=== SMTP: MAIL FROM", frm_addr)
|
smtp.data(raw_bytes)
|
||||||
smtp.mail(frm_addr)
|
print(f"SMTP-Transfer in {time.time()-start:.2f}s abgeschlossen ...")
|
||||||
|
else:
|
||||||
for rcpt in valid_recipients:
|
print("Keine gültigen Postfächer für die Empfänger gefunden, setze Metadatum und überspringe SMTP")
|
||||||
print("=== SMTP: RCPT TO", rcpt)
|
|
||||||
smtp.rcpt(rcpt)
|
|
||||||
|
|
||||||
smtp.data(raw_bytes)
|
|
||||||
print(f"SMTP-Transfer in {time.time()-start:.2f}s abgeschlossen ...")
|
|
||||||
|
|
||||||
# Metadatum "processed": "true" hinzufügen
|
# Metadatum "processed": "true" hinzufügen
|
||||||
try:
|
try:
|
||||||
|
|
@ -148,5 +148,5 @@ def lambda_handler(event, context):
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'statusCode': 200,
|
'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