使用 SENDMAIL 按用户过滤域

使用 SENDMAIL 按用户过滤域

我管理一个托管多个域名的邮件服务器。IE

  • 邮件服务器:supermailserver.mydomain.com

为域名托管邮件:

  • 域名1.com
  • 域名2.com
  • domain3.com
  • domain4.com
  • domain5.com

我的用户数据库使用 OpenLDAP。服务器运行良好。我只想调整一件事,如下所示:

现在,如果我将用户“用户名”添加到 OpenLDAP 和 CyrusMail 后端,那么“用户名”将通过以下地址获取邮件:

我想做的调整是允许“用户名”仅从选定的域获取电子邮件。实现此目的的最佳(和最简单)方法是什么?

提前致谢。

答案1

我们在 virtusertable 中为接受邮件的域设置了明确的条目:

@domain1.com         error: 5.1.1:550 User %[email protected] unknown
[email protected]    %1+%2
[email protected]    %1+%2

@domain2.com         error: 5.1.1:550 User %[email protected] unknown
[email protected]    %1+%2
[email protected]    %1+%2

这会迫使您列出您接受的每个邮件地址(可以解释为坏的或好的)

答案2

我相信您可以使用 M4 宏 FEATURE( virtusertable',dbtype')(其中 dbtype 可以是 ldap 或 dbm)作为示例,使用数据库而不是文件。

相关内容