我正在 Debian 机器上设置一个小型电子邮件服务器,它需要从各种 POP 服务器接收邮件,并根据地址确定将邮件发送给谁,但我不清楚什么软件可以满足我的需要,虽然这看起来是一个非常简单的问题!
例如,我有 2 个用户,Alice 和 Bob。
任何发往[email protected]([email protected] 等)的邮件都应该发给 Alice,所有其他发给 domain.example.com 的邮件都应该发给 Bob。任何发往 [email protected] 的邮件都应该发给 Bob,而 [email protected] 应该发给 Alice
这个想法是将多年来建立的大量邮件地址集中在一起,并将它们全部呈现为 Bob 的一个邮箱和 Alice 的另一个邮箱。
我期待像 Postfix + Dovecot + Amavis + Spamassassin + Squirrelmail 这样的东西符合要求,但我不确定上面的内容是从哪里来的,Postfix 可以将它作为一组定义的正则表达式来处理,还是它是一个工作对于 Amavis,还是完全不同的东西?在这个组合中我是否需要 fetchmail,或者它的角色现在包含在上面的其他组件之一中。
我认为它是内容过滤,但我读到的有关内容过滤的所有内容都集中在检测垃圾邮件而不是路由电子邮件。
毁灭对于这种巫术来说是极好的。
您可以将邮件从 fetchmail 送入 Postfix,然后使用其别名和虚拟地图配置 Postfix 以将它们放入正确的帐户或进一步转发它们。
Dovecot 可用于存储邮件并在之后通过 IMAP 访问邮件,但这是另一个问题。
Amavis 和 Spamassasin 不属于此 - Amavis 是一个病毒扫描程序界面,而 Spamassasin 是一个垃圾邮件过滤器。两者都应该是您安装的一部分,但它们不会导致您概述的问题。
我找到了最简单的方法,希望这对其他人有帮助......
我已经决定从 fetchmail+postfix 开始,因为一旦我发现了fetchmail multidrop,我就有了正确的术语来开始!
在我的 /etc/fetchmailrc 中,我有多个这样的部分,每个 ISP 一个,我仍然使用它来发送电子邮件
这从 ISP 获取邮件并将其发送到我的本地后缀。
“smtpaddress”位是最难找到的,看起来没有多少人写过使用它。没有它(最终发现隐藏在 fetchmail 文档中的普通视图中!),来自所有 ISP 的所有邮件都将域替换为 localhost,因此我无法从不同的 ISP 进行不同的路由。例如,在一个域上,我想捕获所有邮件以进行垃圾邮件处理,而在另一个域上,我可以无情地丢弃任何不需要的地址。
然后在我的后缀配置中,我创建 /etc/postfix/virtual-regexp 像这样的行
然后运行
创建 /etc/postfix/virtual-regexp.db 最后将以下行添加到 /etc/postfix/main.cf
最后,重新启动/重新加载 postfix 以使用新配置。
当(不是如果!)你精心制作的正则表达式都出错时,好好利用
它会回复您的正则表达式文件中的目标路由。实际上,明智的管理员会在应用它们之前使用它来测试设置,但我直到遇到问题才发现它!
以上对我有用,邮件路由在它应该的地方,并在 dovecot 上发射 IMAP 传递,希望它也能帮助其他人!