![如何在面向互联网的 Linux 电子邮件中继(使用 Exchange 2000 后端)上启用反弹](https://linux22.com/image/484215/%E5%A6%82%E4%BD%95%E5%9C%A8%E9%9D%A2%E5%90%91%E4%BA%92%E8%81%94%E7%BD%91%E7%9A%84%20Linux%20%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6%E4%B8%AD%E7%BB%A7%EF%BC%88%E4%BD%BF%E7%94%A8%20Exchange%202000%20%E5%90%8E%E7%AB%AF%EF%BC%89%E4%B8%8A%E5%90%AF%E7%94%A8%E5%8F%8D%E5%BC%B9.png)
我必须使用 Win2k/Exchange 2k 设置来设置我们公司的邮件。没有办法更改或升级它。由于发生了各种黑客和垃圾邮件情况,我们使用 qmail 和 perdition 实现了基于 Linux 的中继。这似乎平息了我们的主要问题,但是现在,当邮件发送给我们组织中不存在的用户时,发件人不会收到退回邮件。我当然愿意接受其他(仅限 FOSS)解决方案,但到目前为止,我束手无策。以下是我们的要求:
- 必须使用经过身份验证的查找从外部世界获得 POP 和 SMTP 访问权限
- 必须每天进行邮件转发。进来的邮件留在里面,出去的邮件出去。禁止匿名邮件。
- 必须与 1 个或多个垃圾邮件/rbl 列表/组集成才能进行过滤
理想情况下,我只想在同一个框中启用某种类型的 AD LDAP 或弹出查找,这样当找不到用户时,它会将消息弹回给发起者。我很难找到一种方法来做到这一点。我曾想过只执行用户转储以供检查,但每次有人离开公司时都要保持更新,这可能会很麻烦。当前方案执行用户查找,如果找不到用户,它就会将其删除。
有什么建议吗?还有其他方法可以更好地配置吗?也许其他包会更好用?
答案1
你已经获得了创建静态控制表的解决方案。另一个解决方案是使用qmail 验证。
答案2
我有同样的要求。我有一个 cronjob,它针对活动目录执行 ldap 搜索以查找有效的邮件用户,然后写入 postfix 使用的文件。
相关的魔法是
ldapsearch -h server01.contoso.com -LLL -D '[email protected]' -y ~/.ad-password -x -Z -b 'dc=contoso,dc=com' '(msExchRecipientTypeDetails=1)' mailNickname > /tmp/$$.exchange
从那里,您必须重写输出以匹配 qmail 所需的任何内容。对于 postfix,我编写了一个表,然后通过 postmap 运行。
我让脚本做一个差异计算,并通过电子邮件将差异结果发送给我,这样我就能知道它是否出了问题。