强制 sendmail 检查收件人域是否存在

强制 sendmail 检查收件人域是否存在

对于使用 AUTH 或信任本地用户的 LAN/外部用户,有一个 sendmail 中继主机,但存在一个问题,即 sendmail 会接受来自受信任用户的邮件,而这些邮件的地址并非现有的域(非故意),例如[电子邮件保护]这些都是错误书写的。

流程如下:认证用户 -> 发送邮件 -> 中继邮件服务器

当然,邮件从中继服务器返回时会带有收件人域不存在的错误,但我想使用智能主机在 sendmail 上拦截这种情况。

sendmail 配置有重要参数:

dnl SMTP Auth
define(`confAUTH_OPTIONS',`A y')
include(`/etc/mail/sasl/sasl.m4')dnl

FEATURE(`no_default_msa')dnl
DAEMON_OPTIONS(`Family=inet,  Name=MTA-v4, Port=smtp, Addr=0.0.0.0')dnl
DAEMON_OPTIONS(`Family=inet,  Name=MSP-v4, Port=submission, Addr=0.0.0.0')dnl

define(`confPRIVACY_FLAGS',dnl
`needmailhelo,needexpnhelo,needvrfyhelo,restrictqrun,restrictexpand,nobodyreturn,authwarnings,noreceipts')dnl

FEATURE(`access_db')dnl

FEATURE(`use_cw_file')dnl
FEATURE(`always_add_domain')dnl
FEATURE(`virtusertable')dnl

define(`SMART_HOST',`smarthost.mydom.com')dnl
define(`conf_LOG_Level',`14')dnl

dnl # antispam
FEATURE(`dnsbl',`....

MAILER_DEFINITIONS
MAILER(`local')dnl
MAILER(`smtp')dnl

值得一提的是,还有具有防病毒和垃圾邮件刺客功能的 mimedefang 过滤器。

我如何强制 sendmail 不中继错误的收件人域?

相关内容