Only return 25 when it's a permanent error

This commit is contained in:
Florent Daigniere
2023-11-15 10:33:02 +01:00
parent 3b810b0247
commit 75e2d8b6ec

View File

@@ -33,14 +33,18 @@ for i in range(5):
smtp_server.sendmail("admin@mailu.io", "user@mailu.io", msg.as_string()) smtp_server.sendmail("admin@mailu.io", "user@mailu.io", msg.as_string())
smtp_server.quit() smtp_server.quit()
except smtplib.SMTPRecipientsRefused:
sys.exit(25)
except smtplib.SMTPDataError as e: except smtplib.SMTPDataError as e:
if e.smtp_code == 451: if e.smtp_code == 451:
print(f"Not ready attempt {i}") print(f"Not ready attempt {i}")
time.sleep(5) time.sleep(5)
continue continue
if e.smtp_code >= 500 and e.smtp_code <600:
sys.exit(25) sys.exit(25)
sys.exit(2525)
except: except:
sys.exit(25) sys.exit(2525)
break break
time.sleep(30) time.sleep(30)