5

我对一般的邮件服务器真的不熟悉,所以请原谅我的无知。

我需要能够通过基于 Spring 的 Web 应用程序管理邮件服务器。通过管理,我的意思是为新用户创建邮件帐户,侦听来自这些用户的传入更新,删除帐户,何时删除用户帐户等等等等。

我假设邮件服务器(至少是好的服务器)提供某种服务 API(SOAP、REST,没关系),应用程序可以通过这些 API 进行挂钩并进行更改。但是,我真的不熟悉那里有哪些好的开源服务器,以及它们提供的选项。

如果有人可以提出解决方案,我会很高兴。

4

2 回答 2

4

一种可能的解决方案是使用带有通用数据库插件的软件。您的 Web 应用程序不与邮件服务器交互,而只是填充 mysql 数据库中的用户表。在最简单的情况下,该表有一个用户名字段和一个密码字段。在大多数实际设置中,需要一些附加字段,例如“用户已禁用”或“用户可以连接 IMAP”、“用户 homedir/maildir 的位置”……如果您的用户也可以创建新域,您还需要一张桌子。

然后,您需要带有数据库后端的邮件服务器软件。

对于托管邮箱,您可以使用dovecot IMAP/POP3 服务器。它支持所有花哨的东西,如用户配额、邮箱自动创建等。在这里,您将找到有关如何使用数据库后端配置 dovecot 的文档: http ://wiki2.dovecot.org/AuthDatabase/SQL

要通过 stmp 实际接收邮件,您还需要一个 MTA 软件。在这里,一个不错的选择是postfix。如果您的用户可以创建新域,您需要添加 mysql 配置,告诉 postfix 它可以接受哪些域的邮件。由于我不完全了解您的域要求,因此我将向您指出一般的 postfix 虚拟域托管方法: http ://www.postfix.org/VIRTUAL_README.html

最后,如果您的用户也应该能够发送邮件,您需要在 postfix 中配置 SASL。如果您已经配置了 dovecot,这非常简单。它归结为告诉后缀“嘿,我已经在 dovecot 中配置了用户身份验证,我不想再这样做了,只需与 dovecot 交谈并让它完成工作”。文档在这里:http ://www.postfix.org/SASL_README.html#server_dovecot

于 2011-06-28T05:09:10.973 回答
3

有一个名为Zimbra的邮件服务器,它有一个开源社区版,它有一个 REST 接口和一个 SOAP 接口。

  • REST 参考(如果我理解正确,这将不适合您的需求,因为您只能通过此操作现有帐户)
  • SOAP接口这里有一个例子,论坛上还有很多其他的。
于 2011-06-28T10:26:13.963 回答