import sys import smtplib import os from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart # Ensure UTF-8 output for terminal/logging if hasattr(sys.stdout, 'reconfigure'): sys.stdout.reconfigure(encoding='utf-8') # Load configuration from environment or fallback defaults SMTP_SERVER = os.environ.get("SMTP_SERVER", "smtp.gmail.com") SMTP_PORT = int(os.environ.get("SMTP_PORT", 587)) SENDER_EMAIL = os.environ.get("SENDER_EMAIL", "krishnaowoxd@gmail.com") SENDER_PASSWORD = os.environ.get("SENDER_PASSWORD", "qkwylwtcsnlrpree").replace(" ", "") RECIPIENT_EMAIL = os.environ.get("RECIPIENT_EMAIL", "dorutoslayer@gmail.com") if len(sys.argv) < 7: print("Usage: python send_git_email.py ") sys.exit(1) branch = sys.argv[1] author = sys.argv[2] commit_hash = sys.argv[3] timestamp = sys.argv[4] message = sys.argv[5] changed_files = sys.argv[6] subject = f"[Freshers-Hub VPS] Code Push Report - Commit {commit_hash} ({branch})" html_content = f"""
🚀 Freshers-Hub Deployment & Push Report
Branch: {branch}
Author: {author}
Commit Hash: {commit_hash}
Time: {timestamp}
Commit Message:
{message}
Changed Files (Top Modified):
{changed_files}
""" msg = MIMEMultipart("alternative") msg["Subject"] = subject msg["From"] = SENDER_EMAIL msg["To"] = RECIPIENT_EMAIL msg.attach(MIMEText(html_content, "html")) try: with smtplib.SMTP(SMTP_SERVER, SMTP_PORT) as server: server.starttls() server.login(SENDER_EMAIL, SENDER_PASSWORD) server.sendmail(SENDER_EMAIL, RECIPIENT_EMAIL, msg.as_string()) print("✅ Email report sent successfully.") except Exception as e: print(f"❌ Failed to send email report: {e}")