我想将网络邮件系统集成到我正在构建的网站中。我基本上想将网络邮件界面内置到我现有的应用程序中。
我需要将邮件发送到他们的用户名并在网站上阅读。但是,我也希望用户能够通过 IMAP 访问他们的邮件。我需要用户使用他们的站点凭据向邮件服务器进行身份验证。
我知道 PHP 可以读取 IMAP 信箱,但我觉得这对于大规模多用户环境来说效率不高。我知道一些邮件守护程序可以将其信箱和消息存储在 MySQL 中并针对其他系统进行身份验证。我想那会是一个更顺畅的解决方案,不是吗?
对于要调查什么系统,您有什么想法吗?
答案1
大多数邮件守护程序都可以根据其他后端进行身份验证(MySQL、Postgres、LDAP 最常见)。如果您正在使用某种类型的站点数据库,只需在 postfix 配置中输入正确的查询即可根据站点数据库进行身份验证。
将电子邮件存储在数据库中效率不高,因为会产生额外的开销。在大多数情况下,maildir 是可行的方法。IMAP
处理很多事情,包括邮件客户端并发、文件夹、删除、身份验证 - 重新发明其中大部分感觉“不对劲”。
我曾使用 roundcube 和带有 IMAP 的单盒为 10,000 个客户端运行 webmail(使用 imapproxy 缓存 imap 连接以避免每个请求的身份验证开销)。
答案2
为什么要像 Irosa 所说的那样重新发明轮子呢?看看 Google Apps:http://www.google.com/apps/intl/en/business/index.html
您可以在那里托管所有电子邮件,而不必担心服务器配置、邮件传递、端口、安全性等。您可以使用任何域名,并可以自定义页面的徽标/颜色。
答案3
请参考网址http://php.net/manual/en/book.imap.php借助它,您可以将您的邮件(IMAP)与 PHP 集成。