examples | ||
src | ||
tests | ||
.editorconfig | ||
.gitignore | ||
.travis.yml | ||
composer.json | ||
composer.lock | ||
LICENSE | ||
phpunit.xml.dist | ||
README.md |
Imap
📬 Access Mailbox Using PHP IMAP.
Current Version: coming soon
Installation
To install the package via composer
, use the following:
composer require clivern/imap
This command requires you to have Composer installed globally.
Usage
After adding the package as a dependency, Please read the following steps:
Connect and Authenticate
include_once dirname(__FILE__) . '/vendor/autoload.php';
$connection = new Clivern\Imap\Core\Connection("imap.gmail.com", "993", "test@clivern.com", "my_password", "/ssl", "INBOX");
$connection->connect();
Connection Options
#~
Mailboxes
Retrieve mailboxes (also known as mail folders) from the mail server and iterate over them:
$mailbox = new Clivern\Imap\MailBox($connection);
$messages = $mailbox->getMessages();
foreach ($messages as $message) {
echo "Subject: " . $message->header()->get('subject');
echo "<br/>";
echo $message->body()->getMessage();
}
Searching
To add custom search
$search = new Clivern\Imap\Core\Search();
$search->addCondition(new Clivern\Imap\Core\Search\Condition\All());
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\Answered());
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\BCC("filter@gmail.com"));
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\Before(date("j F Y")));
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\Body("search text"));
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\CC("filter@gmail.com"));
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\Deleted());
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\Flagged());
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\From("filter@gmail.com"));
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\Keyword("test"));
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\NewFlag());
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\Old());
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\On(date("j F Y")));
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\Recent());
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\Seen());
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\Since(date("j F Y")));
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\Subject("search text"));
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\Text("search text"));
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\To("filter@gmail.com"));
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\UnAnswered());
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\UnDeleted());
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\UnFlagged());
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\UnKeyword("test"));
// $search->addCondition(new Clivern\Imap\Core\Search\Condition\UnSeen());
// For more info, please check http://php.net/manual/en/function.imap-search.php
Then configure mailbox:
$mailbox = new Clivern\Imap\MailBox($connection);
$messages = $mailbox->getMessages($search);
foreach ($messages as $message) {
echo "Subject: " . $message->header()->get('subject');
echo "<br/>";
echo $message->body()->getMessage();
}
Messages
#~
Misc
Changelog
Version 1.0.0:
Coming Soon
Acknowledgements
© 2017, Clivern. Released under the MIT License.
Imap is authored and maintained by @clivern.