Sendmail 并根据已知、非本地地址列表匹配收件人

Sendmail 并根据已知、非本地地址列表匹配收件人

我想要的功能类似于 postfix 的relay_recipients,但我需要在 sendmail 中实现它。我在一台服务器上有一个已知的良好收件人地址列表,这台机器充当面向网络的前端(邮件从外部进入,在外箱上进行预处理,最终转发到内箱。企业邮件服务器)但我无法进行呼叫转移或 LDAP 查询。

它可能是 sendmail 的 *.db 文件之一的功能,但我的记忆或理解 - 或两者 - 目前都让我失望。

注意:这是一个邮件监视/邮件扫描器盒,因此邮件在本地排队、过滤,然后投递。

答案1

您可以使用功能(virtusertable)获得后缀的等价物中继收件人映射

发送邮件

LOCAL_CONFIG
dnl virtusertable works by default only for local email domains
dnl $={VirtHost} lists non local domains served by virtusertable
C{VirtHost}example.net
divert(0)
dnl  _VIRTUSER_STOP_ONE_LEVEL_RECURSION_ is described in m4/proto.m4 file
define(`_VIRTUSER_STOP_ONE_LEVEL_RECURSION_')dnl
FEATURE(`virtusertable')

virtusertable 文件(需要 makemap 编译):

# list of valid emails in example.net
[email protected] %0
[email protected] %0
# default entry for example.net
@example.net  ERROR:5.1.1:550 User unknown

https://groups.google.com/forum/#!topic/comp.mail.sendmail/owHMoZIAkDg news:comp.mail.sendmail 线程,来自 2006 年。

顺便说一句,您可以将 FEATURE(ldap_routing)与标准 sendmail 映射(hash、btree 等)一起使用,而不是 LDAP 查找。

答案2

我最终采用access_db',以下方式使用访问(FEATURE( hash -T -o /etc/mail/access.db') ):

To:[email protected]   RELAY
To:[email protected]   RELAY
....
robintur.it     DENY

行为符合要求。

相关内容