unyii2 / yii2-imap
用于从 IMAP 和 PHP 读取和处理邮件的 yii2 扩展
0.5.4
2019-05-08 16:07 UTC
Requires
- php: >=5.4.0
README
此库是从 https://github.com/yiioverflow/yii2-imap 分支出来的
通过 composer 安装
{
"require": {
"unyii2/yii2-imap": "dev-master"
}
}
Or
$ composer require unyii2/yii2-imap "dev-master"
作为组件使用
在组件中定义连接详情
'components' => [ ... 'imap' => [ 'class' => 'unyii2\imap\Imap', 'connection' => [ 'imapPath' => '{imap.gmail.com:993/imap/ssl}INBOX', 'imapLogin' => 'username', 'imapPassword' => 'password', 'serverEncoding'=>'encoding', // utf-8 default. 'attachmentsDir'=>'/' ], ], ... ], //4th Param _DIR_ is the location to save attached files //Eg: /path/to/application/mail/uploads. $mailbox = new unyii2\Mailbox(yii::$app->imap->connection);
作为库使用
动态设置连接详情
$imapConnection = new unyii2\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 = '/'; //4th Param _DIR_ is the location to save attached files //Eg: /path/to/application/mail/uploads. $mailbox = new unyii2\Mailbox($imapConnection);
# 获取所有邮件及其索引
$mailbox->searchMailBox(ALL)// Prints all Mail ids. print_r($mailIds);
# 不读取附件 $mailbox->readMailParts = false;
# 读取收件箱内容
foreach($mailIds as $mailId) { // Returns Mail contents $mail = $mailbox->getMail($mailId); if(alreadyProcesedMessage($mail->messageId)){ continue; } // Use, if $mailbox->readMailParts = false; // Read mail parts (plain body, html body and attachments $mail = $mailbox->getMailParts($mail); // Returns mail attachements if any or else empty array $attachments = $mail->getAttachments(); foreach($attachments as $attachment){ echo ' Attachment:' . $attachment->name . PHP_EOL; // Delete attachment file unlink($attachment->filePath); } }
# 标记并从 IMAP 服务器删除邮件。
//Mark a mail to delete</span></span> $mailbox->deleteMail($mailId); // Deletes all marked mails $mailbox->expungeDeletedMails();
贡献
请随时贡献。如果您有示例想法,请将其添加到存储库中并提交 pull request。
感激
如果喜欢,请不要忘记给我一个“星标”。享受编码!