jhonn921007 / imap
此包已被弃用且不再维护。没有建议的替代包。
通过IMAP接收和发送电子邮件
0.4.3
2014-12-13 08:15 UTC
Requires
- ext-imap: *
- ext-mbstring: *
- doctrine/common: *
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2022-02-01 12:42:00 UTC
README
一个PHP 5.3+库,用于通过IMAP读取和处理电子邮件。
安装
推荐通过Composer安装IMAP库
$ composer require jhonn921007/imap:@stable
使用方法
连接和认证
use Ddeboer\Imap\Server; $server = new Server('imap.gmail.com'); // $connection is instance of \Ddeboer\Imap\Connection $connection = $server->authenticate('my_username', 'my_password');
邮箱
从邮件服务器检索邮箱(也称为邮件文件夹)并遍历它们
$mailboxes = $connection->getMailboxes(); foreach ($mailboxes as $mailbox) { // $mailbox is instance of \Ddeboer\Imap\Mailbox printf('Mailbox %s has %s messages', $mailbox->getName(), $mailbox->count()); }
删除邮箱
$mailbox->delete();
消息
从邮箱中检索消息(电子邮件)并遍历它们
$messages = $mailbox->getMessages(); foreach ($messages as $message) { // $message is instance of \Ddeboer\Imap\Message }
获取消息编号和唯一的 消息ID,格式为 <...>
$message->getNumber(); $message->getId();
获取其他消息属性
$message->getSubject(); $message->getFrom(); $message->getTo(); $message->getDate(); $message->isAnswered(); $message->isDeleted(); $message->isDraft(); $message->isSeen();
获取消息头作为一个 \Ddeboer\Imap\Message\Headers 对象
$message->getHeaders();
获取消息体作为HTML或纯文本
$message->getBodyHtml(); $message->getBodyText();
读取消息体会将消息标记为已读。如果您想保持消息未读状态
$message->keepUnseen()->getBodyHtml();
将消息移动到另一个邮箱
$mailbox = $connection->getMailbox('another-mailbox'); $message->move($mailbox);
删除消息
$mailbox->getMessage(1)->delete(); $mailbox->getMessage(2)->delete(); $mailbox->expunge();
消息附件
获取消息附件(包括内联和附加)并遍历它们
$attachments = $message->getAttachments(); foreach ($attachments as $attachment) { // $attachment is instance of \Ddeboer\Imap\Message\Attachment }
将消息附件下载到本地文件
// getDecodedContent() decodes the attachments contents automatically: \file_put_contents( '/my/local/dir/' . $attachment->getFilename(), $attachment->getDecodedContent() );
运行测试
此库在Travis CI上进行了功能测试,针对的是Gmail IMAP服务器。
如果您有您自己的Gmail(测试)账户,您可以在本地运行测试
$ composer install --dev $ export EMAIL_USERNAME="your_gmail_username" $ export EMAIL_PASSWORD="your_gmail_password" $ vendor/bin/phpunit