Files
arlo/mail/mail_manager.py
konjacpotato d8e6b58014
All checks were successful
Gitea Actions Demo / deploy (push) Successful in 11s
发件人使用人名
2026-02-15 16:13:43 +08:00

37 lines
1.3 KiB
Python

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from log.log_manager import log
class MailManager:
def __init__(self, email: str = "Arlo", password: str = "hqorvminmnuubebf"):
self.sender_email = email
self.server = smtplib.SMTP('smtp.qq.com', 587)
self.server.starttls() # Secure the connection
self.server.login(email, password) # Login with your email and password
def send_mail(self, subject: str, content: str, receiver_email:str = "changsongd@126.com"):
message = MIMEMultipart()
message['From'] = self.sender_email
message['To'] = receiver_email
message['Subject'] = subject
message.attach(MIMEText(content, 'plain'))
text = message.as_string()
try:
self.server.sendmail(self.sender_email, receiver_email, text)
except Exception as e:
log(f"send mail failed with error {e}. subject: {subject}")
def finish(self):
self.server.quit()
def send_mail(subject: str, content: str, receiver_email:str = None):
mail_manager = MailManager()
if receiver_email is None:
mail_manager.send_mail(subject, content)
else:
mail_manager.send_mail(subject, content, receiver_email)
mail_manager.finish()