我正在尝试在 PHP 中实现网络邮件。我想编写一个 PHP CLI 脚本,该脚本在每封电子邮件到达时运行,以将传入电子邮件的某些部分(不是全部)存储到数据库中以进行搜索。然后,当用户完成搜索并选择要显示的电子邮件时,会连接到邮件服务器以检索完整的电子邮件。为了实现这个场景,我需要在数据库和邮件服务器中的电子邮件之间建立某种连接。
由于我使用邮件服务器的知识仅限于 Zend Framework 的 API,因此我认为从 IMAP 服务器检索电子邮件所需的内容是 amessage number
或 a message unique id
(后来似乎并非所有邮件服务器都支持)。
到目前为止,我已经设法找到.forward
(和其他一些方法)将我的 PHP CLI 脚本引入 MTA,以便在每次电子邮件到达时运行。这样我就可以将电子邮件存储到数据库中。但这不会做,因为message unique id
它是由 MDA 创建的,所以 MTA 不知道它,他们不能提供给我。这意味着我以后想从邮件服务器检索电子邮件时找不到电子邮件。
最后,这是我的问题:有没有办法将 PHP CLI 脚本引入 MDA 以接收电子邮件?如果这取决于邮件服务器,哪些服务器支持这个以及如何支持?我个人的选择是 Dovecot 或 Courier,但任何其他邮件服务器也可以。