主题: Amavisd中的D_BOUNCE和D_DISCARD有什么区别?
==== 必填信息。没有填写将不予回复 ====
- iRedMail 版本号:0.9.5-1
- 使用哪个数据库存储用户帐号(OpenLDAP,MySQL,PostgreSQL):OpenLDAP
- 使用的 Linux/BSD 发行版名称及版本号:Centos7
- 与您的问题相关的日志信息:无错误日志
====
Amavisd中对不同类型的风险邮件的定义了四种处理方法:D_PASS,D_BOUNCE,D_REJECT,D_DISCARD。
D_PASS很好理解,直接放行;
D_REJECT是拒收,发件方会收到退信;
但D_BOUNCE和D_DISCARD在处理上有什么区别?
看字面意思一个是弹回,一个是销毁,从文档中看到,D_BOUNCE是反馈给发件方MTA一个2XX的成功状态,并发一个“未投递成功”的响应给发件方,而D_REJECT是反馈给发件方MTA一个5XX的拒绝状态,D_DISCARD则是直接销毁邮件,不给任何反馈。
从实际测试效果来看,D_BOUNCE和D_DISCARD两种处理方式,收件方都没有接收到邮件,发件方也未收到退信,投递状态也就是250 OK,除了在日志中能体现出来一个是BOUNCE了,一个是DISCARD了,似乎没有什么区别?
请了解的朋友解释一下,谢谢!
D_BOUNCE:
Nov 16 15:29:00 Mailserver postfix/smtp[91389]: B7F4C46CCB11: to=<test@example.com>, relay=127.0.0.1[127.0.0.1]:10026, delay=0.57, delays=0.18/0.02/0.01/0.35, dsn=2.5.0, status=sent (250 2.5.0 Ok, id=87004-01, DISCARD(bounce.suppressed))
D_DISCARD:
Nov 16 15:30:28 Mailserver postfix/smtp[91389]: 748EA46CCB12: to=<test@example.com>, relay=127.0.0.1[127.0.0.1]:10026, delay=0.4, delays=0.16/0/0.01/0.22, dsn=2.7.0, status=sent (250 2.7.0 Ok, discarded, id=91928-01 - BANNED: .dat,test.xlsx)