mirror of
https://github.com/wangdage12/Snap.Server.git
synced 2026-02-17 08:52:10 +08:00
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
import smtplib
|
||
from email.mime.text import MIMEText
|
||
from email.mime.multipart import MIMEMultipart
|
||
from app.config_loader import config_loader
|
||
|
||
# 从配置文件获取邮件设置
|
||
gmail_user = config_loader.EMAIL_GMAIL_USER
|
||
app_password = config_loader.EMAIL_APP_PASSWORD
|
||
|
||
to_email = ""
|
||
|
||
def send_email(gmail_user, app_password, to_email, subject, body="这是一封测试邮件。", app_name=None, body_type="plain"):
|
||
msg = MIMEMultipart()
|
||
# 如果提供了 app_name,使用带显示名称的格式
|
||
if app_name:
|
||
msg["From"] = f"{app_name} <{gmail_user}>"
|
||
else:
|
||
msg["From"] = gmail_user
|
||
msg["To"] = to_email
|
||
msg["Subject"] = subject
|
||
msg.attach(MIMEText(body, body_type))
|
||
|
||
# Gmail SMTP 服务器
|
||
server = smtplib.SMTP("smtp.gmail.com", 587)
|
||
server.starttls()
|
||
server.login(gmail_user, app_password)
|
||
server.sendmail(gmail_user, to_email, msg.as_string())
|
||
server.quit()
|
||
|
||
if __name__ == "__main__":
|
||
try:
|
||
send_email(gmail_user, app_password, to_email, "测试邮件主题", "这是一封测试邮件。")
|
||
print("邮件发送成功!")
|
||
|
||
except Exception as e:
|
||
print("发送失败:", e)
|