如何通过Web应用程序与邮件服务器进行通信

5

我对邮件服务器一般不熟悉,请谅解我的无知。

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

我假设邮件服务器(至少是好的邮件服务器)提供某种服务API(SOAP、REST,都可以)供应用程序挂接并进行更改。但是,对于目前有哪些优秀的开源服务器以及它们提供了哪些选项,我真的不熟悉。

如果有人能够提出一个解决方案,我将不胜感激。


现在假设我想为系统中注册的每个用户创建一个邮件帐户。如何以最小的痛苦来实现? - user802232
在最坏的情况下,我可以使用sendmail,并从Spring应用程序中调用它,通过传递必要的参数给它。 - user802232
你使用特定的邮件服务器吗? - abalogh
@abalogh 我会尝试使用Zimbra。希望它能够正常工作。目前我只是使用普通的sendmail,并打算为其编写一些包装器。 - user802232
@user802232:你有没有考虑奖励那个赏金? - abalogh
显示剩余2条评论
2个回答

4
一种可能的解决方案是使用带有通用数据库插件的软件。您的 Web 应用程序不与邮件服务器交互,而是仅填充 MySQL 数据库中的用户表。在最简单的情况下,此表具有用户名字段和密码字段。在大多数实际设置中,需要一些额外的字段,例如“用户已禁用”或“用户可以使用 IMAP 连接”,“用户主目录/邮件目录的位置”等。 如果您的用户也可以创建新域,则还需要一个表。
然后,您需要带有数据库后端的邮件服务器软件。
要托管邮箱,您可以使用 dovecot IMAP/POP3 服务器。它支持所有花哨的功能,如用户配额、自动创建邮箱等。 在这里,您将找到有关如何配置带有数据库后端的 Dovecot 的文档: http://wiki2.dovecot.org/AuthDatabase/SQL

要通过stmp实际接收邮件,您还需要MTA软件。在这里,一个很好的选择是postfix。如果您的用户可以创建新域,您需要添加mysql配置,告诉postfix它可以接受哪些域的邮件。 由于我不知道您的域要求,我只会指向通用的postfix虚拟域主机howto: http://www.postfix.org/VIRTUAL_README.html

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


3

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

  • REST参考资料(如果我理解正确,这不适合您的需求,因为您只能通过此方式操作现有帐户)
  • SOAP接口;一个例子在这里,论坛上还有许多其他例子。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接