You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RSPAMD DMARC报告无法发送,手动执行命令异常求助

DMARC报告发送异常排查方案

可能的原因及对应解决步骤

1. SMTP配置缺失或本地服务异常

你的配置中smtp和smtp_port处于注释状态,Rspamd默认会调用本地127.0.0.1:25的SMTP服务。如果本地MTA(比如Postfix、Exim)未启动,或者端口被防火墙拦截,会导致发送失败,进而触发send data for 0 domains的提示(发送失败后系统可能误将数据标记为已处理)。

解决操作:

  • 检查本地MTA状态:执行systemctl status postfix(对应你使用的MTA命令),确认服务正常运行。
  • 若本地无可用MTA,取消配置中smtp和smtp_port的注释,填写可用的邮件中继服务器信息:
    smtp = '你的中继服务器IP/域名';
    smtp_port = 25; # 若用加密端口可改为587
    
  • 测试端口连通性:用nc -zv 你的中继服务器IP 25验证端口是否能正常访问。

2. 报告发送状态标记异常

当首次发送失败后,Rspamd可能会将该周期的报告标记为已发送,导致实际有数据但发送命令认为无内容可发。

解决操作:

  • 删除对应周期的发送标记(Redis存储):
    redis-cli DEL dmarc:sent:20230612
    
  • 重新执行发送命令:rspamadm dmarc_report -v 20230612

3. 发件邮箱或接收方有效性问题

确认配置中的redacted@foo.bar邮箱可正常发送邮件,同时检查待发报告中的收件邮箱是否存在拼写错误或拒收情况。

解决操作:

  • 测试发件邮箱功能:用swaks工具验证发送能力(替换对应参数):
    swaks --from redacted@foo.bar --to test@example.com --server 你的SMTP服务器 --port 25
    
  • 核对待发报告中的收件邮箱:执行rspamadm dmarc_report -v -n 20230612查看收件人地址是否正确。

4. Rspamd版本或Redis缓存问题

老旧版本的Rspamd可能存在DMARC报告发送的bug,或者Redis中缓存的DMARC数据出现异常。

解决操作:

  • 升级Rspamd到稳定版:Debian/Ubuntu系统执行apt update && apt upgrade rspamd,其他系统对应执行包管理升级命令。
  • 清空DMARC相关缓存(谨慎操作,会丢失未发送的历史报告):
    redis-cli KEYS "dmarc:*" | xargs redis-cli DEL
    
  • 等待系统收集新的DMARC数据后,再尝试手动发送。

内容的提问来源于stack exchange,提问作者Lars

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 12:07:28