ricard0d / php-imap
PHP IMAP 客户端
Requires
- php: >=7.0.0
- ext-fileinfo: *
- ext-iconv: *
- ext-json: *
- ext-mbstring: *
- ext-openssl: *
- illuminate/pagination: >=5.0.0
- nesbot/carbon: >=1.0
- symfony/http-foundation: >=2.8.0
Requires (Dev)
- phpunit/phpunit: ~4.0
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0.1
- 3.2.0
- 3.1.0-alpha
- 3.0.0-alpha
- 2.7.2
- 2.7.1
- 2.7.0
- 2.6.0
- 2.5.1
- 2.5.0
- 2.4.4
- 2.4.3
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.1
- 2.3.0
- 2.2.5
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.13
- 2.1.12
- 2.1.11
- 2.1.10
- 2.1.9
- 2.1.8
- 2.1.7
- 2.1.6
- 2.1.5
- 2.1.4
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.1
- 2.0.0
- 1.4.5
- 1.4.2.1
- 1.4.2
- dev-master / 1.0.x-dev
- 0.0.3
- 0.0.2
- 0.0.1
- dev-354c277
- dev-dev
This package is not auto-updated.
Last update: 2024-09-25 02:36:42 UTC
README
描述
PHP-IMAP 是一个不需要安装/启用 php-imap 模块的通用 IMAP 通信包装器。协议完全集成,因此支持 IMAP IDLE 操作和“新”OAuth 认证过程。您可以通过启用 php-imap
模块来处理边缘情况、提高消息解码质量,如果您想使用像 pop3 这样的旧协议,则此模块是必需的。
官方文档: php-imap.com
Laravel 包装器: webklex/laravel-imap
Discord: discord.gg/jCcZWCSq
目录
文档
- 旧版本(< v2.0.0): 旧版文档
- 核心文档: php-imap.com
基本使用示例
这是一个基本示例,它将输出所有 IMAP 文件夹中的所有邮件,并将每条消息移动到 INBOX.read 中。请注意,这不应该在实际生活中进行测试,它只是为了展示工作原理。
use Webklex\PHPIMAP\ClientManager; $cm = new ClientManager('path/to/config/imap.php'); /** @var \Webklex\PHPIMAP\Client $client */ $client = $cm->account('account_identifier'); //Connect to the IMAP Server $client->connect(); //Get all Mailboxes /** @var \Webklex\PHPIMAP\Support\FolderCollection $folders */ $folders = $client->getFolders(); //Loop through every Mailbox /** @var \Webklex\PHPIMAP\Folder $folder */ foreach($folders as $folder){ //Get all Messages of the current Mailbox $folder /** @var \Webklex\PHPIMAP\Support\MessageCollection $messages */ $messages = $folder->messages()->all()->get(); /** @var \Webklex\PHPIMAP\Message $message */ foreach($messages as $message){ echo $message->getSubject().'<br />'; echo 'Attachments: '.$message->getAttachments()->count().'<br />'; echo $message->getHTMLBody(); //Move the current Message to 'INBOX.read' if($message->move('INBOX.read') == true){ echo 'Message has been moved'; }else{ echo 'Message could not be moved'; } } }
已知问题
支持
如果您遇到任何问题或发现任何错误,请不要犹豫,创建一个新的 问题。但是请注意,可能需要一些时间才能得到答复。无关、粗鲁或侮辱性的问题将被无通知删除。
如果您需要 商业 支持,请随时给我发邮件至 github@webklex.com。
注意事项
如果您在问题中编写源代码,请考虑正确格式化它。这会使阅读变得容易得多
并且人们更有可能进行评论和帮助 :)
```php
echo 'your php code...';
```
将变为
echo 'your php code...';
功能 & 提交请求
每个人都可以为此项目做出贡献。每个拉取请求都将被考虑,但也可能被拒绝。
为了避免不必要的劳动,如果您计划进行较大的更改,请考虑先创建一个 功能问题
。当然,如果您只是希望添加一个功能,也可以创建一个新的 功能问题 ;)
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG
安全
如果您发现任何安全相关的问题,请通过电子邮件 github@webklex.com 而不是使用问题跟踪器。
致谢
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件