shklyaev-p-a / imap-mail-recipient
通过 IMAP 访问邮箱,以任何格式解码读取和标记邮件消息
Requires (Dev)
README
#关于它是一个使用 PHP IMAP 函数简单获取邮件的库的开发活动。
注意
方法和参数不断变化。该库处于开发中
注意
为了共同开发,请联系我: shklyaev.p.a@mail.ru
#连接到邮箱
<?php
require('vendor/autoload.php');
use ImapRecipient\Client;
$client = new Client('email', 'password', 'server');
$client->connect();
目前可连接到 yandex, mail 和 google 邮箱域名。对于其他服务器的连接需要传递第三个参数为服务器地址。例如:'{imap.mail.ru:993/imap/ssl}'。要检查官方服务器域名,请使用 \ImapRecipient\Helpers\AdressParser::getMailBox('email') 辅助函数。但 imap 域名可以在谷歌上找到。
#从邮箱获取所有邮件 该方法将返回包含邮件编号的数组。获取邮件需要使用 getOne() 方法
$client->all()->get();
在获取之前,您可以在主查询中使用特殊的 IMAP 过滤器进行过滤。
示例
$client->all()->answered()->body('Hello world')->get();
完整的过滤列表可以在 https://php.ac.cn/manual/ru/function.imap-search.php 上找到
过滤器中的所有日期格式必须为 'j F Y H:m:s'
#获取带附件的单封邮件
$client->getOne(int $number);
$client->getOne(int $number)->text() 或 $client->getOne(int $number)->html()
$client->getOne(int $nubmer)->attachments;' 用于查找附件
$images = $client->getOne(int $number)->images()[0]->get() 用于获取图像内容(类似地,对于实现了 MediaInterface 的其他文件)
测试运行: php ./vendor/bin/phpunit 或 composer test