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
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user