topcu/laravelimap

Laravel wrapper for php-imap
569 2
Install
composer require topcu/laravelimap
Latest Version:v1.2
Last Updated:Jul 24, 2017
Links: GitHub  ·  Packagist
Maintainer: topcu

Laravel Wrapper for Php-Imap

Installation

$ composer require php-imap/php-imap

Add following lines into config/app.php

    'providers' => [
    	...
	Topcu\Dumber\DumberServiceProvider::class,
	...
    ],
    'aliases' => [ 
    	...
	'Imap' => \Topcu\LaravelImap\Facades\Imap::class,
	...
    ],

Configuration

If you'd like to use a single connection, add imap into config/services.php and define your credentials in .env file

    'imap' => [
        "imap_path" => env("IMAP_SERVER_PATH"), // "{imap.gmail.com:993/imap/ssl}INBOX", 
        "login"     => env("IMAP_SERVER_LOGIN"), // "mail@example.com", 
        "password"  => env("IMAP_SERVER_PASSWORD")
    ]

Otherwise, you can call Imap::connection() anytime with config parameters as:

    Imap::connection([
         "imap_path" => "{imap.gmail.com:993/imap/ssl}INBOX", 
         "login"     => "mail@example.com", 
         "password"  => "somepassword",
     ]);

Usage examples

Using Facade

    $mail_ids = Imap::searchMailbox("UNSEEN");
    $mail = Imap::getMail($mail_ids[0]);

Using IoC

use Topcu\LaravelImap\Mailbox;

class Foo
{
    //...
    public function bar(Mailbox $imap)
    {
        $mail_ids = $imap->searchMailbox("UNSEEN");
        $mail = $imap->getMail($mail_ids[0]);
    }
    //...
}

Setting connection parameters dynamically

    $mail_ids = Imap::connection($imap_config)->searchMailbox("UNSEEN");
    $mail = Imap::getMail($mail_ids[0]);

Related Packages

erirk/paypalpayment

laravel-paypalpayment is simple package help you process direct credit card paym...

0
gabrieloliverio/laravel5-generators

Database metadata-based generators for Laravel 5

1
doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

628,058,007 9,707
laravel/framework

The Laravel Framework.

576,155,700 34,907
laravel/tinker

Powerful REPL for the Laravel framework.

485,678,092 7,440