thefox/imapd

纯PHP编写的IMAP服务器(库)。

v0.5.0 2017-06-15 07:44 UTC

This package is auto-updated.

Last update: 2024-09-24 05:29:05 UTC


README

纯PHP编写的IMAP服务器(库),用于为电子邮件客户端提供电子邮件。

SMTPd 中的 d 代表 守护进程。此脚本可以像任何其他守护进程进程一样在后台运行。它不适合作为Web应用程序运行。

为什么选择这个项目?

信或不信,电子邮件仍然是互联网的杀手特性。有很多项目可以访问和从IMAP/POP3服务器获取电子邮件。但是,提供程序化接口以将电子邮件提供给电子邮件客户端的项目并不多。

使用此接口,您可以为您的应用程序用户做以下事情

+--------------+     +-------+     +------------------------+     +------+
| Your PHP App +---> | IMAPd +---> | MUA (like Thunderbird) +---> | User |
+--------------+     +-------+     +------------------------+     +------+

当您有一个用PHP编写的消息应用程序但没有图形用户界面时,这很有用。因此,您的图形用户界面可以是任何 电子邮件客户端。例如 Thunderbird

项目概述

该项目概述如我在关于 开源软件合作 的博客文章中所描述。

  • 此软件的主要目的是为PHP脚本提供服务器端IMAP API。
  • 尽管RFC实现尚未完成,但它们必须是严格的。
  • 未来可能会有更多功能。从协议的角度来看,这些功能必须是RFC实现。
  • 此列表是开放的。请随时提出功能请求。

计划中的功能

  • 完整的RFC 3501实现。
  • 用更好的解决方案替换 Zend\Mail

安装

首选的安装方法是使用 PackagistComposer。运行以下命令安装包并将其添加到 composer.json 的要求中

composer require thefox/imapd

用法

有关更多信息,请参阅 example.php 文件。

RFC 3501实现

完整实现

  • 6.1.2 NOOP命令
  • 6.1.3 LOGOUT命令
  • 6.4.1 CHECK命令
  • 6.4.7 COPY命令
  • 7.1.1 OK响应
  • 7.1.2 NO响应
  • 7.1.3 BAD响应
  • 7.1.5 BYE响应
  • 7.4.1 EXPUNGE响应

不完整实现

  • 2.3.1.1 唯一标识符(UID)消息属性
  • 2.3.1.2 消息序列号消息属性
  • 2.3.2 标志消息属性
  • 6.1.1 CAPABILITY命令
  • 6.2.2 AUTHENTICATE命令
  • 6.2.3 LOGIN命令
  • 6.3.1 SELECT命令
  • 6.3.6 SUBSCRIBE命令
  • 6.3.7 UNSUBSCRIBE命令
  • 6.3.8 LIST命令
  • 6.3.9 LSUB命令
  • 6.3.11 APPEND命令
  • 6.4.2 CLOSE命令
  • 6.4.4 SEARCH命令
  • 6.4.5 FETCH命令
  • 6.4.6 STORE命令
  • 6.4.8 UID命令
  • 7.1.4 PREAUTH响应
  • 7.2.1 CAPABILITY响应
  • 7.2.2 LIST响应
  • 7.2.3 LSUB响应
  • 7.2.5 SEARCH响应
  • 7.3.1 EXISTS响应
  • 7.3.2 RECENT响应
  • 7.4.2 FETCH响应

待办事项

  • 一些任务带有注释 NOT_IMPLEMENTED。实现这些。
  • @TODO 在发布新版本之前需要完成 PHP 代码规范测试。

关于 Zend\Mail 的替代方案

相关链接

相关项目

项目链接