particlebits / imap
PHP类,用于访问IMAP邮箱。特别使用Laminas库而不是IMAP扩展。
2.2.0
2022-03-30 21:47 UTC
Requires
- php: >=7.0
- ext-iconv: *
- laminas/laminas-mail: @dev
- laminas/laminas-mime: @dev
- dev-master
- 2.2.0
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.5.4
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.10
- 0.4.9
- 0.4.8
- 0.4.7
- 0.4.6
- 0.4.5
- 0.4.4
- 0.4.3
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.3
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
This package is auto-updated.
Last update: 2024-09-29 05:27:55 UTC
README
Pb\Imap是一个用于下载和解析IMAP电子邮件消息的库。出于性能原因,特别没有使用PHP IMAP扩展,而是使用Laminas Mail库。
使用了Laminas Mail和Laminas Mime库的独立分支,并尽可能地保持最新。这些分支是为了进行一些虽小但必要的更新,这些更新可能无法及时或在任何时候获得Laminas维护者的批准。
内存性能是这个库的目标,它已经尽可能稳定和减少。根据文件附件下载,这个应用程序平均使用10-20MB的内存,在大型附件下载期间峰值可达75-100MB。
特性
- 通过IMAP连接到邮箱
- 获取所有文件夹的列表
- 下载电子邮件消息并将附件保存到磁盘
- 根据自定义标准搜索电子邮件
- 获取每个文件夹的状态信息
使用Composer安装
{
"require": {
"particlebits/imap": "^2.1"
}
}
或
$> composer require particlebits/imap ^2.1
使用示例
$mailbox = new \Pb\Imap\Mailbox( 'imap.gmail.com', 'something@gmail.com', '**********', 'INBOX', __DIR__ .'/attachments', [ \Pb\Imap\Mailbox::OPT_DEBUG_MODE => true ]); $messageIds = $mailbox->searchMailBox('ALL'); foreach ($messageIds as $messageId) { $message = $mailbox->getMessage($messageId); print_r($message); print_r($message->getAttachments()); }
可用选项
您可以在Mailbox构造函数的最后一个参数中使用以下选项
OPT_DEBUG_MODE
这将把内存信息写入屏幕OPT_SKIP_ATTACHMENTS
跳过下载消息附件。对于节省磁盘空间很有用。
注意
该项目最初使用PHP IMAP扩展来获取和解析电子邮件消息。对于长时间运行的过程,该扩展不是非常节省内存,这是我预期的用途。相反,这个库使用了Laminas Mail包。Laminas Mail通过套接字连接检索消息并解析头部。\Pb\Imap将这个原始消息对象转换为更用户友好的格式。
更多示例请参阅tests/
文件夹中的脚本。