Postfix服务器发送非送达通知时发件人地址为空问题如何解决
Postfix 3.1.0 空发件人非送达通知(NDN)拦截问题修复方案
对应问题日志:
postfix/bounce[58637]: B85763E70B: sender non-delivery notification: F1F8A3FF94 postfix/qmgr[1861]: F1F8A3FF94: from=<>, size=41644, nrcpt=1 (queue active)
默认Postfix遵循RFC标准将NDN的发件人设为空地址<>,但目前多数邮件服务商的反垃圾规则会拦截此类无发件人邮件,导致退信循环,可通过修改Postfix配置修复该问题,操作步骤如下:
- 编辑Postfix主配置文件,默认路径为
/etc/postfix/main.cf- 添加或修改
bounce_notice_recipient参数,值为你所属域名下的合法可用postmaster邮箱:bounce_notice_recipient = postmaster@your-domain.com - 添加或修改
empty_address_recipient参数,该参数用于替换所有原本发件人为空的邮件的发件人地址,和上方配置保持一致即可:empty_address_recipient = postmaster@your-domain.com - (可选)添加双退信发件人配置,避免二次退信仍然出现空发件人问题:
double_bounce_sender = postmaster@your-domain.com
- 添加或修改
- 验证配置语法合法性,执行命令:
无任何输出即代表配置语法正确,若有报错请根据提示修正对应配置项。postfix check - 重载Postfix配置使修改生效:
postfix reload # 或使用systemd管理的服务器可执行 systemctl reload postfix
注意事项
- 配置使用的postmaster邮箱必须真实存在,且所属域名的SPF、DKIM记录需要包含该发件地址的授权,否则仍然可能被其他邮件服务商判定为垃圾邮件拦截
- 不要使用非本域名的地址作为退信发件人,避免被判定为伪造发件人
- 确保该postmaster邮箱未设置自动回复规则,避免出现邮件循环问题
内容的提问来源于stack exchange,提问作者Steve Sirag
相关产品推荐
相关产品推荐

