From 2305438423760d58bd4c01f86630e17137b146b7 Mon Sep 17 00:00:00 2001 From: Michael Genson <71845777+michael-genson@users.noreply.github.com> Date: Thu, 24 Oct 2024 10:58:24 -0500 Subject: [PATCH] fix: Add SMTP Timeout (#4437) --- mealie/services/email/email_senders.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mealie/services/email/email_senders.py b/mealie/services/email/email_senders.py index ad03bdc60..a740d1e20 100644 --- a/mealie/services/email/email_senders.py +++ b/mealie/services/email/email_senders.py @@ -10,6 +10,9 @@ from html2text import html2text from mealie.services._base_service import BaseService +SMTP_TIMEOUT = 10 +"""Timeout in seconds for SMTP connection""" + @dataclass(slots=True) class EmailOptions: @@ -55,13 +58,13 @@ class Message: msg["MIME-Version"] = "1.0" if smtp.ssl: - with smtplib.SMTP_SSL(smtp.host, smtp.port) as server: + with smtplib.SMTP_SSL(smtp.host, smtp.port, timeout=SMTP_TIMEOUT) as server: if smtp.username and smtp.password: server.login(smtp.username, smtp.password) errors = server.send_message(msg) else: - with smtplib.SMTP(smtp.host, smtp.port) as server: + with smtplib.SMTP(smtp.host, smtp.port, timeout=SMTP_TIMEOUT) as server: if smtp.tls: server.starttls() if smtp.username and smtp.password: