kekaadrenalin / yii2-imap
yii2 扩展,用于从 IMAP 和 PHP 读取和处理邮件
0.5.8
2019-11-19 13:54 UTC
Requires
- php: >=7.0.0
- ext-iconv: *
- ext-imap: *
- ext-mbstring: *
- yiisoft/yii2: ~2.0.0
README
该库是基于https://github.com/yiioverflow/yii2-imap的分支。
通过 composer 安装
{
"require": {
"kekaadrenalin/yii2-imap": "dev-master"
}
}
Or
$ composer require kekaadrenalin/yii2-imap "dev-master"
作为组件使用
在组件中定义连接详细信息
'components' => [ ... 'imap' => [ 'class' => 'kekaadrenalin\imap\Imap', 'connection' => [ 'imapPath' => '{imap.gmail.com:993/imap/ssl}INBOX', 'imapLogin' => 'username', 'imapPassword' => 'password', 'serverEncoding' => 'encoding', // utf-8 default. 'attachmentsDir' => '/', 'decodeMimeStr' => true, // Return as is, default -> true ], ], ... ], $mailbox = new kekaadrenalin\imap\Mailbox(Yii::$app->imap->connection);
作为库使用
动态设置连接详细信息
$imapConnection = new kekaadrenalin\imap\ImapConnection; $imapConnection->imapPath = '{imap.gmail.com:993/imap/ssl}INBOX'; $imapConnection->imapLogin = 'username'; $imapConnection->imapPassword = 'password'; $imapConnection->serverEncoding = 'encoding'; // utf-8 default. $imapConnection->attachmentsDir = '/'; $imapConnection->decodeMimeStr = true; $mailbox = new kekaadrenalin\imap\Mailbox($imapConnection);
获取所有邮件及其索引
$mailIds = $mailbox->searchMailBox(); // Gets all Mail ids. print_r($mailIds);
不读取附件
$mailbox->readMailParts = false;
读取收件箱内容
foreach($mailIds as $mailId) { // Returns Mail contents $mail = $mailbox->getMail($mailId); // Read mail parts (plain body, html body and attachments $mailObject = $mailbox->getMailParts($mail); // Array with IncomingMail objects print_r($mailObject); // Returns mail attachements if any or else empty array $attachments = $mailObject->getAttachments(); foreach($attachments as $attachment){ echo ' Attachment:' . $attachment->name . PHP_EOL; // Delete attachment file unlink($attachment->filePath); } }
从 IMAP 服务器标记并删除邮件。
$mailbox->deleteMail($mailId); // Mark a mail to delete $mailbox->expungeDeletedMails(); // Deletes all marked mails
贡献
请随时贡献。如果您有示例想法,请将其添加到仓库并提交拉取请求。
感谢
如果您喜欢它,别忘了给我一个“星标”。享受编码!