From f0b924ea5603d74b5d1bd478e60867333273d98a Mon Sep 17 00:00:00 2001 From: Thomas Oettli Date: Fri, 23 Jan 2026 19:40:58 +0100 Subject: [PATCH] Use context manager for SMTP --- src/ddns_service/email.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/ddns_service/email.py b/src/ddns_service/email.py index 8b6dc9a..d920c3f 100644 --- a/src/ddns_service/email.py +++ b/src/ddns_service/email.py @@ -76,11 +76,10 @@ class EmailService: smtp_host = self.config["smtp_host"] smtp_port = self.config["smtp_port"] - server = smtplib.SMTP(smtp_host, smtp_port) - if self.config.get("smtp_starttls", False): - server.starttls() + with smtplib.SMTP(smtp_host, smtp_port) as server: + if self.config.get("smtp_starttls", False): + server.starttls() - try: if self.config.get("smtp_user"): server.login( self.config["smtp_user"], @@ -89,8 +88,6 @@ class EmailService: server.sendmail(msg["From"], [to], msg.as_string()) logging.info(f"Email sent: to={to} subject={subject}") return True - finally: - server.quit() except Exception as e: logging.error(f"Email send failed: to={to} error={e}")