From 7adf6e7a1d3937dade84a1c6a7de8adea8c9dfca Mon Sep 17 00:00:00 2001 From: SpudGunMan Date: Mon, 9 Dec 2024 19:06:47 -0800 Subject: [PATCH] Update smtp.py --- modules/smtp.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/modules/smtp.py b/modules/smtp.py index bf41187..8b8d5f9 100644 --- a/modules/smtp.py +++ b/modules/smtp.py @@ -23,7 +23,15 @@ if enableImap: # Send email def send_email(to_email, message, nodeID=0): global smtpThrottle - + + # Clean up email address + to_email = to_email.strip() + + # Basic email validation + if "@" not in to_email or "." not in to_email: + logger.warning(f"System: Invalid email address format: {to_email}") + return False + # throttle email to prevent abuse if to_email in smtpThrottle: if smtpThrottle[to_email] > time.time() - 120: @@ -40,7 +48,7 @@ def send_email(to_email, message, nodeID=0): # Create message msg = MIMEMultipart() msg['From'] = FROM_EMAIL - msg['To'] = to_email.strip() + msg['To'] = to_email msg['Subject'] = EMAIL_SUBJECT msg.attach(MIMEText(message, 'plain')) @@ -55,10 +63,10 @@ def send_email(to_email, message, nodeID=0): server.quit() logger.info("System: Email sent to: " + to_email[:-6]) + return True except Exception as e: - logger.warning("System: Failed to send email: " + str(e)) + logger.warning(f"System: Failed to send email: {str(e)}") return False - return True def check_email(nodeID, sysop=False): if not enableImap: