kekaadrenalin/yii2-imap
最新稳定版本:0.5.8
Composer 安装命令:
composer require kekaadrenalin/yii2-imap
包简介
yii2 extension to read and process mails from IMAP and PHP
README 文档
README
This library is a fork of https://github.com/yiioverflow/yii2-imap
Installation by composer
{
"require": {
"kekaadrenalin/yii2-imap": "dev-master"
}
}
Or
$ composer require kekaadrenalin/yii2-imap "dev-master"
Use as component
Connection details define in component
'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);
Usage as library
Connection details set on fly
$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);
To get all mails and its index
$mailIds = $mailbox->searchMailBox(); // Gets all Mail ids. print_r($mailIds);
Do not read attachments
$mailbox->readMailParts = false;
To read Inbox contents
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); } }
To Mark and delete mail from IMAP server.
$mailbox->deleteMail($mailId); // Mark a mail to delete $mailbox->expungeDeletedMails(); // Deletes all marked mails
Contribute
Feel free to contribute. If you have ideas for examples, add them to the repo and send in a pull request.
Appreciate
Don't forget to leave me a "star" if you like it. Enjoy coding!
统计信息
- 总下载量: 40.59k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2019-10-10