对于使用 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 不中继错误的收件人域?