1 Commits
Author SHA1 Message Date
hz4th_coder ddcf97a441 v2.1.3: 修复邮件被退信-补Date头
- 根因: mail.tphai.com 的 amavisd 内容过滤器强制要求 Date 头
  (554 5.6.0 BAD HEADER - Missing required header field: Date)
- 之前 llm-proxy 发的测试邮件/auto失败通知全被过滤退信(8封退信在 hz4th_coder 邮箱)
- 工作区标准 send_email.py 一直带 msg['Date']=formatdate() 所以能收到
- 修复: send_email() 补 msg['Date'] = formatdate(localtime=True), 与标准脚本一致
- 验证: 修复后测试邮件无退信, 已送达 wlq@tphai.com
2026-08-28 14:54:07 +08:00
+2 -1
View File
@@ -19,7 +19,7 @@ import logging
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr
from email.utils import formataddr, formatdate
from datetime import datetime, date
from pathlib import Path
import sys
@@ -140,6 +140,7 @@ def send_email(subject, body, cfg=None, html=False):
msg = MIMEText(body, 'html' if html else 'plain', 'utf-8')
msg['Subject'] = Header(subject, 'utf-8')
msg['Date'] = formatdate(localtime=True) # 必须带 Date 头,否则 mail.tphai.com 的 amavisd 会拒收(554 BAD HEADER)
from_addr = cfg.get('from_addr') or cfg.get('smtp_user') or ''
msg['From'] = formataddr((str(Header(cfg.get('from_name', ''), 'utf-8')), from_addr))
msg['To'] = ', '.join(to_addrs)