owenrusk.dev

errands

small jobs the runtime does for the studio.

git clone https://owenrusk.dev/errands.git

commit d3a252e97cda58a35c4b188a8dfc608eebe0326b
parent 510acc0b2dde401ac4b59e3c683a6eaa3b2b3f11
author Owen Rusk <owen@papermothgames.com>
date   2026-02-24 11:40:22 -0600
mail: timeouts on imap and smtp
errands/mail.py+2-2
diff --git a/errands/mail.py b/errands/mail.py
index d37af17..f9e88ab 100644
--- a/errands/mail.py
+++ b/errands/mail.py
@@ -21,7 +21,7 @@ class Message:
 
 
 def connect() -> imaplib.IMAP4:
-    box = imaplib.IMAP4_SSL(settings.env("ERRANDS_IMAP_HOST"))
+    box = imaplib.IMAP4_SSL(settings.env("ERRANDS_IMAP_HOST"), timeout=30)
     box.login(settings.env("ERRANDS_MAIL_USER"), settings.env("ERRANDS_MAIL_PASSWORD"))
     box.select("INBOX")
     return box
@@ -85,7 +85,7 @@ def compose(to: str, subject: str, body: str, reply_to: Message | None = None) -
 
 
 def smtp() -> smtplib.SMTP:
-    server = smtplib.SMTP(settings.env("ERRANDS_SMTP_HOST"), int(settings.env("ERRANDS_SMTP_PORT", "587")))
+    server = smtplib.SMTP(settings.env("ERRANDS_SMTP_HOST"), int(settings.env("ERRANDS_SMTP_PORT", "587")), timeout=30)
     server.starttls()
     server.login(settings.env("ERRANDS_MAIL_USER"), settings.env("ERRANDS_MAIL_PASSWORD"))
     return server