From 6490ceff08cc73f3317750563aa6f2d3bc5523bd Mon Sep 17 00:00:00 2001 From: hubian <908234780@qq.com> Date: Tue, 14 Apr 2026 16:35:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20SMTP=E9=85=8D=E7=BD=AE=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=B8=BAmail.tphai.com=E7=AB=AF=E5=8F=A3587?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xian_favor/api.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/xian_favor/api.py b/xian_favor/api.py index ff671aa..fb3fc5d 100644 --- a/xian_favor/api.py +++ b/xian_favor/api.py @@ -374,20 +374,17 @@ def send_email(): body = "\n".join(body_lines) - # 调用邮件发送技能 + # 调用邮件发送 try: import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart - # SMTP配置(从环境变量或配置文件获取) - smtp_host = os.environ.get('SMTP_HOST', 'smtp.exmail.qq.com') - smtp_port = int(os.environ.get('SMTP_PORT', 465)) - smtp_user = os.environ.get('SMTP_USER', 'wlq@tphai.com') - smtp_pass = os.environ.get('SMTP_PASS', '') - - if not smtp_pass: - return jsonify({'success': False, 'error': 'SMTP密码未配置,请设置环境变量 SMTP_PASS'}), 500 + # SMTP配置 + smtp_host = 'mail.tphai.com' + smtp_port = 587 + smtp_user = 'favor@tphai.com' + smtp_pass = 'favor@!' msg = MIMEMultipart() msg['From'] = smtp_user @@ -396,9 +393,15 @@ def send_email(): msg.attach(MIMEText(body, 'plain', 'utf-8')) - with smtplib.SMTP_SSL(smtp_host, smtp_port) as server: - server.login(smtp_user, smtp_pass) - server.sendmail(smtp_user, email_addr, msg.as_string()) + # 端口587无SSL,尝试STARTTLS,失败则用普通连接 + server = smtplib.SMTP(smtp_host, smtp_port) + try: + server.starttls() + except smtplib.SMTPNotSupportedError: + pass # 服务器不支持TLS,继续用普通连接 + server.login(smtp_user, smtp_pass) + server.sendmail(smtp_user, email_addr, msg.as_string()) + server.quit() return jsonify({'success': True, 'message': f'已发送到 {email_addr}'})