我是一家小型 ISP 的系统管理员,我们有自己的邮件服务器(qmail,所有被遗忘的东西),总共为大约 300 个域和 5000 个用户提供邮件。它的磁盘空间不足,我们必须更换硬件以使其更大。
于是,我基于Exim新建了一个邮件服务器,它使用Dovecot进行POP/IMAP,并修改为在Dovecot端和Exim端都使用MySQL进行用户认证(之前在接收邮件时验证账户是否存在)接受投递邮件)。这一切都基于struction.de上的 HOWTO ,在解决了所有问题之后,一切都顺利进行,直到我到达用户需要能够管理自己的帐户的部分,或者至少是喜欢频繁创建/删除帐户的域托管客户。
Vexim 基本上是一个死项目,所以我避免了。有人推荐Postfixadmin。
现在,虽然它几乎可以工作,但它缺少一个大而肥的功能,它破坏了我的设置:用户定义的垃圾邮件分数,存储在用户帐户的 MySQL 数据库中。同样重要的是,系统的整个设计似乎都需要围绕 Postfixadmin 构建,而不是把 Postfixadmin 放在首位。我刚刚倒着设计了整个系统。
我一直在做这个项目,现在我只想放弃它,买一些软件,让邮件服务器按照我们需要的方式正常工作。我也不打算在接下来的一到六个月内构建一个新版本的 Postfixadmin(以我的设计和编程技能,那是一个糟糕的),或者只是修改当前版本。
有没有办法摆脱这种情况?
有一个开源的 isp 工具,这可能是你需要的。
检查:http ://www.ispconfig.org/
但我认为你必须从头开始构建你的系统,因为这个软件只支持 sendmail 或 postfix。还有一个问题是,你为什么选择exim,又想用postfixadmin。我不知道这个软件,但我猜它是用于后缀的 :)
问题的另一种观点如下。这些管理接口以某种方式被极度指定。不是你使用它们的方式,而是它们需要如何集成到你的环境中。如何设置邮件服务器和管理有很多不同的场景,这些系统需要一个非常非常特定的环境。我想说几乎不可能找到一个 100% 满足您需求的解决方案。反过来,我敢打赌,您也找不到任何 100% 适合的商业解决方案。:)
我不知道 exim,所以我很难告诉你如何让用户定义的垃圾邮件这样的东西工作,但我知道 postfix,我敢打赌你可以自定义 Postfix 以适应你的场景。我个人使用 sendmail 和 postfix,在直接比较中,postfix 比 sendmail 更灵活(在其当前版本中)。所以再次澄清这一点,我不知道 qmail 和 exim,也许这两个邮件服务器是非常好的 smtp 服务器,但如果你想要专门的设置,我想它们不如 postfix 灵活。在大多数情况下,有一些简单的方法可以解决复杂的场景或需求。
也许我对这篇文章投了一些反对票,但我从来没有遇到过 postfix 无法解决的问题。我的意思是,您可以构建基于正则表达式的哈希映射,这有多酷:)
祝你好运找到你的解决方案,希望我能帮助你澄清一些事情,并向你展示另一种观点。
我认为讨厌 qmail 有点不合理,它是一个非常安全地处理大量邮件的优秀软件包。在几乎所有情况下,我都更喜欢 Exim。话虽如此,既然您已经选择了一条特定的路径并投入了大量精力,为什么不直接聘请开发人员来解决您需要的功能请求呢?你说它归结为一个功能,这听起来并不复杂。
如果您已经有一种针对数据库中的表对用户进行身份验证的机制,并且您有一种将垃圾邮件过滤器与这些用户相关联的方法,那么前端似乎相对微不足道。现在是退后一步,看看替代方案与一些定制开发相比会花费多少的好时机,我想你会发现不到 40 小时可能会让你摆脱困境,让你处于比完全前进更有利的位置重做一切并更具成本效益。
公平地说,可能没有任何特定的解决方案已经存在 100% 满足您的需求,当然也不是在已经完成的工作的背景下。有一个古老的说法,当你是一把锤子时,一切看起来都像钉子,作为一个系统专家,你可能看不到阻力最小的道路,因为你在自己的技能和知识基础上工作。超出此范围以确定您的其他选择。如果你不顾这个建议最终还是做了一个完整的重新设计,请看看 Cyrus Imap,因为它在一些最大的 isp 和大学环境中有效使用,并且与传统的 exim/postfix/ 相比具有大量的可扩展性和其他优势qmail db 支持的设置。祝你好运。
ISPmail 教程适合您:http ://workaround.org/ispmail
您是否尝试过 SMAD,这是您使用的邮件系统的网络界面?!使用当前版本,您已经可以做您想做的事情。开发人员目前正在进行更新以适应一些新功能。如果你想捐点钱,我相信他会很感激的。
我不认为 Postfixadmin 是寻找用户级垃圾邮件分数管理的正确位置。看看 Maia Mailguard 管理垃圾邮件评分/白名单/洗狗,让 postfixadmin 去管理用户存在的更温和的工作。
(我也在使用 postfixadmin,但在进行异地垃圾邮件清理)。
恕我直言,每个用户的垃圾邮件设置应该在网络邮件中,而不是在用户/域管理员中。Squirrelmail 和 RoundCube 都有这方面的插件。roundcube 还有一个(遗憾的是过时的)补丁,用于为每个用户集成 Postfixadmin 功能(如更改密码、假期消息等)。
实际上 SMAD 完全按照您的描述进行。当然它使用起来并不简单,但我们正在开发一个新版本。(最后一次发布是大约一年前)
由于主要开发人员目前没有太多空闲时间,也许您的雇主想聘请他来完成您的需求。
使用amavisd -new来处理细粒度、用户可调节的垃圾邮件过滤。