Tested and fixed multiple email inputs.

This commit is contained in:
Uthman Fatih 2025-10-16 08:00:21 +01:00
parent 96cf658c3c
commit 7c43ce18f2
2 changed files with 27 additions and 4 deletions

29
main.py
View File

@ -30,12 +30,19 @@ def serve(receiver_email: str = None, check_interval: int = 24):
@app.command()
def now(receiver_email: str = None):
if not receiver_email:
receiver_email = [email.strip() for email in receiver_email.split(",")]
# Comma seperate
# FIXME: Fix if nonetype
receiver_emails = []
if receiver_email:
if "," in receiver_email:
receiver_emails = [email.strip() for email in receiver_email.split(",")]
else:
receiver_emails = [receiver_email.strip()]
"""
Checks for apt upgrades and emails them then exits.
"""
generate_email(receiver_email)
generate_email(receiver_emails)
def generate_email(receiver_email: list):
services.apt.require_root()
@ -44,6 +51,22 @@ def generate_email(receiver_email: list):
exit(1)
updates = services.apt.check_updates()
# For testing
#updates = {
# "vim": {
# "installed_version": "8.2.3400",
# "latest_version": "8.2.3400",
# "repo": "universe",
# "security": True
# },
# "vim-gtk3": {
# "installed_version": "8.2.3400",
# "latest_version": "8.2.3400",
# "repo": "universe",
# "security": False
# }
#}
if exists(join(dirname(__file__), "users.json")):
with open(join(dirname(__file__), "users.json"), "r") as f:
users = json.load(f)

View File

@ -44,7 +44,7 @@ def send_email(receiver_emails, subject, body):
try:
with smtplib.SMTP_SSL(SMTP_SERVER, SMTP_PORT) as server:
server.login(SMTP_USERNAME, SMTP_PASSWORD)
server.sendmail(sender_email, ", ".join(receiver_emails), message.as_string())
server.sendmail(sender_email, receiver_emails, message.as_string())
print("HTML email sent successfully!")
except Exception as e:
print(f"Failed to send email: {e}")