| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import smtplib
- import os
- from dotenv import load_dotenv
- load_dotenv()
- # Get email settings from environment variables
- username = os.getenv("MAIL_USERNAME")
- password = os.getenv("MAIL_PASSWORD")
- server = os.getenv("MAIL_SERVER")
- port = int(os.getenv("MAIL_PORT", "587"))
- print(f"Testing connection to {server}:{port} with username {username}")
- try:
- # Attempt to connect
- smtp = smtplib.SMTP(server, port)
- smtp.ehlo()
-
- # Start TLS if needed
- if os.getenv("MAIL_STARTTLS") == "True":
- smtp.starttls()
- smtp.ehlo()
-
- # Try to login
- smtp.login(username, password)
- print("Login successful!")
-
- # Send a test email
- from_addr = os.getenv("MAIL_FROM")
- to_addr = "example@noreply.com"
- message = f"From: {from_addr}\nTo: {to_addr}\nSubject: SMTP Test\n\nThis is a test email to verify SMTP connection."
-
- smtp.sendmail(from_addr, to_addr, message)
- print("Test email sent successfully!")
-
- smtp.quit()
-
- except Exception as e:
- print(f"Error: {e}")
|