升级后Trac AccountManager的EmailVerification功能失效
Trac 1.2升级至1.6后新用户注册验证邮件无法发送问题解决
问题现象
- Trac从v1.2升级到v1.6后,新用户完成注册并登录时,页面提示已发送含验证令牌的邮件,但实际未收到邮件
- 工单编辑关联的常规邮件通知功能正常
- 注册操作触发的日志报错如下:
2026-01-03 19:21:20,941 Trac[api] INFO: Created new user: Gurksi26 2026-01-03 19:21:20,950 Trac[mail] ERROR: EmailDistributor No formats found for email account
问题原因
日志中的EmailDistributor No formats found for email account错误,说明邮件分发模块找不到注册验证邮件对应的格式模板。结合常规邮件功能正常的差异点,核心原因是Trac 1.6升级过程中,用户注册验证相关的邮件模板未正确迁移或缺失。Trac 1.6对注册流程的邮件模板路径、命名规则做了调整,旧版本v1.2的模板结构不再适配,而工单通知的模板未受升级影响,因此出现功能不一致的情况。
解决方案
补全注册验证邮件模板
- 定位Trac安装目录下的
templates/email路径,检查是否存在verify_email.txt(纯文本格式)和verify_email.html(HTML格式,若启用HTML邮件)模板文件 - 若文件缺失,从Trac 1.6官方安装包中提取对应模板,复制到上述路径
- 确保模板文件的权限与其他邮件模板一致,保证Trac进程拥有读取权限
- 定位Trac安装目录下的
核对邮件格式配置
- 打开Trac配置文件
trac.ini,检查[notification]段的格式配置:email_format = plain,html # 需包含至少一种与模板匹配的格式(plain或html) - 确认
[account-manager]段的注册邮件相关配置正确:verify_email = true email_sender = SmtpEmailSender
- 打开Trac配置文件
重启Trac服务
完成模板补全和配置调整后,重启Trac服务使修改生效,测试新用户注册流程验证邮件是否正常发送
内容的提问来源于stack exchange,提问作者Ichthyo
相关产品推荐
相关产品推荐

