tormjens / posteio
A PHP SDK for the Poste.io API with support for Laravel 5
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 1
Open Issues: 1
Type:package
Requires
- php: >=7.0.0
- guzzlehttp/guzzle: ^6.0
Requires (Dev)
- phpunit/phpunit: ~6.0
This package is auto-updated.
Last update: 2024-11-29 05:38:58 UTC
README
Poste.io is a full-featured mail server that features a REST API for tasks like creating mailboxes and adding domains.
Installation
- Install it using Composer
composer require tormjens/posteio
Using in Laravel
If you're using Laravel 5.5, you can go ahead and skip to number 3.
- Add the service provider to the providers array in your
config/app.php
.
'TorMorten\Posteio\Providers\PosteioServiceProvider',
- Add the facade in
config/app.php
'Posteio' => TorMorten\Posteio\Posteio::class,
- Add the credentials in
config/services.php
'posteio' => [ 'host' => 'https://myhost.com', 'username' => 'email@myhost.com', 'password' => 'secret' ],
Outside Laravel
Instantiate the class like so:
$posteio = new TorMorten\Posteio\Client('https://myhost.com', 'email@myhost.com', 'secret');
Usage
The API is split into two services; boxes and domains. Both have the same CRUD functions. You can find the complete documentation of what each resource takes a its parameters on their API docs/sandbox.
Laravel
In Laravel the client is bound to the service container and can be instantiated in two different ways.
The first is via dependency injection.
Route::post('create-account', function(TorMorten\Posteio\Client $posteio) { $posteio->boxes()->create(['name' => 'John Doe', 'email' => 'john@myhost.com']); });
The second is via resolving it via the service container.
app('posteio')->boxes()->create(['name' => 'John Doe', 'email' => 'john@myhost.com']); // or app('TorMorten\Posteio\Client')->boxes()->create(['name' => 'John Doe', 'email' => 'john@myhost.com']);
TODO
- Create a better readme.