2017-08-08 13:03:22 +02:00
|
|
|
Imap
|
|
|
|
====
|
|
|
|
:mailbox_with_mail: Access Mailbox Using PHP IMAP.
|
|
|
|
|
2017-08-12 12:56:59 +02:00
|
|
|
*Current Version: coming soon*
|
|
|
|
|
|
|
|
[![Build Status](https://travis-ci.org/Clivern/Imap.svg?branch=master)](https://travis-ci.org/Clivern/Imap)
|
|
|
|
|
|
|
|
Installation
|
|
|
|
------------
|
2017-08-15 15:58:49 +02:00
|
|
|
|
2017-08-14 14:18:20 +02:00
|
|
|
To install the package via `composer`, use the following:
|
2017-08-15 15:58:49 +02:00
|
|
|
|
2017-08-12 12:56:59 +02:00
|
|
|
```php
|
2017-08-14 14:28:37 +02:00
|
|
|
composer require clivern/imap
|
2017-08-12 12:56:59 +02:00
|
|
|
```
|
2017-08-15 15:58:49 +02:00
|
|
|
This command requires you to have Composer installed globally.
|
|
|
|
|
2017-08-12 12:56:59 +02:00
|
|
|
|
|
|
|
Usage
|
|
|
|
-----
|
2017-08-15 15:58:49 +02:00
|
|
|
|
2017-08-12 12:56:59 +02:00
|
|
|
After adding the package as a dependency, Please read the following steps:
|
|
|
|
|
2017-08-15 15:58:49 +02:00
|
|
|
### Connect and Authenticate
|
|
|
|
|
2017-08-14 14:18:20 +02:00
|
|
|
```php
|
|
|
|
include_once dirname(__FILE__) . '/vendor/autoload.php';
|
|
|
|
|
2017-08-15 16:08:02 +02:00
|
|
|
use Clivern\Imap\Core\Connection;
|
|
|
|
|
|
|
|
$connection = new Connection(
|
2017-08-15 16:00:33 +02:00
|
|
|
"imap.gmail.com",
|
|
|
|
"993",
|
|
|
|
"test@clivern.com",
|
|
|
|
"my_password",
|
|
|
|
"/ssl",
|
|
|
|
"INBOX"
|
|
|
|
);
|
2017-08-14 14:18:20 +02:00
|
|
|
$connection->connect();
|
|
|
|
```
|
|
|
|
|
2017-08-15 15:58:49 +02:00
|
|
|
#### Connection Options
|
|
|
|
|
|
|
|
```php
|
|
|
|
#~
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### Mailboxes
|
|
|
|
|
|
|
|
Retrieve mailboxes (also known as mail folders) from the mail server and iterate over them:
|
|
|
|
|
|
|
|
```php
|
2017-08-15 16:08:02 +02:00
|
|
|
use Clivern\Imap\MailBox;
|
|
|
|
|
|
|
|
$mailbox = new MailBox($connection);
|
2017-08-15 15:58:49 +02:00
|
|
|
|
|
|
|
$messages = $mailbox->getMessages();
|
|
|
|
|
|
|
|
foreach ($messages as $message) {
|
|
|
|
echo "Subject: " . $message->header()->get('subject');
|
|
|
|
echo "<br/>";
|
|
|
|
echo $message->body()->getMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
#### Searching
|
|
|
|
|
2017-08-14 14:18:20 +02:00
|
|
|
To add custom search
|
2017-08-15 15:58:49 +02:00
|
|
|
|
2017-08-14 14:18:20 +02:00
|
|
|
```php
|
2017-08-15 16:08:02 +02:00
|
|
|
use Clivern\Imap\Core\Search;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\All;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\Answered;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\BCC;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\Before;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\Body;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\CC;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\Deleted;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\Flagged;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\From;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\Keyword;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\NewFlag;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\Old;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\On;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\Recent;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\Seen;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\Since;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\Subject;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\Text;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\To;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\UnAnswered;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\UnDeleted;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\UnFlagged;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\UnKeyword;
|
|
|
|
use Clivern\Imap\Core\Search\Condition\UnSeen;
|
|
|
|
|
|
|
|
$search = new Search();
|
|
|
|
$search->addCondition(new All());
|
|
|
|
// $search->addCondition(new Answered());
|
|
|
|
// $search->addCondition(new BCC("filter@gmail.com"));
|
|
|
|
// $search->addCondition(new Before(date("j F Y")));
|
|
|
|
// $search->addCondition(new Body("search text"));
|
|
|
|
// $search->addCondition(new CC("filter@gmail.com"));
|
|
|
|
// $search->addCondition(new Deleted());
|
|
|
|
// $search->addCondition(new Flagged());
|
|
|
|
// $search->addCondition(new From("filter@gmail.com"));
|
|
|
|
// $search->addCondition(new Keyword("test"));
|
|
|
|
// $search->addCondition(new NewFlag());
|
|
|
|
// $search->addCondition(new Old());
|
|
|
|
// $search->addCondition(new On(date("j F Y")));
|
|
|
|
// $search->addCondition(new Recent());
|
|
|
|
// $search->addCondition(new Seen());
|
|
|
|
// $search->addCondition(new Since(date("j F Y")));
|
|
|
|
// $search->addCondition(new Subject("search text"));
|
|
|
|
// $search->addCondition(new Text("search text"));
|
|
|
|
// $search->addCondition(new To("filter@gmail.com"));
|
|
|
|
// $search->addCondition(new UnAnswered());
|
|
|
|
// $search->addCondition(new UnDeleted());
|
|
|
|
// $search->addCondition(new UnFlagged());
|
|
|
|
// $search->addCondition(new UnKeyword("test"));
|
|
|
|
// $search->addCondition(new UnSeen());
|
2017-08-14 14:18:20 +02:00
|
|
|
|
|
|
|
// For more info, please check http://php.net/manual/en/function.imap-search.php
|
|
|
|
```
|
|
|
|
|
|
|
|
Then configure mailbox:
|
|
|
|
|
|
|
|
```php
|
2017-08-15 16:08:02 +02:00
|
|
|
use Clivern\Imap\MailBox;
|
|
|
|
|
|
|
|
$mailbox = new MailBox($connection);
|
2017-08-14 14:18:20 +02:00
|
|
|
|
|
|
|
$messages = $mailbox->getMessages($search);
|
|
|
|
|
|
|
|
foreach ($messages as $message) {
|
|
|
|
echo "Subject: " . $message->header()->get('subject');
|
|
|
|
echo "<br/>";
|
|
|
|
echo $message->body()->getMessage();
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2017-08-12 12:56:59 +02:00
|
|
|
|
2017-08-15 15:58:49 +02:00
|
|
|
#### Messages
|
|
|
|
```php
|
|
|
|
#~
|
|
|
|
```
|
|
|
|
|
|
|
|
|
2017-08-12 12:56:59 +02:00
|
|
|
Misc
|
|
|
|
====
|
|
|
|
|
|
|
|
Changelog
|
|
|
|
---------
|
|
|
|
Version 1.0.0:
|
|
|
|
```
|
|
|
|
Coming Soon
|
|
|
|
```
|
|
|
|
|
|
|
|
Acknowledgements
|
|
|
|
----------------
|
|
|
|
|
|
|
|
© 2017, Clivern. Released under the [MIT License](http://www.opensource.org/licenses/mit-license.php).
|
|
|
|
|
|
|
|
**Imap** is authored and maintained by [@clivern](http://github.com/clivern).
|