stephanecoinon / mailtrap
PHP client for Mailtrap.
Installs: 35 989
Dependents: 0
Suggesters: 0
Security: 0
Stars: 8
Watchers: 2
Forks: 6
Open Issues: 0
Requires
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
- mockery/mockery: ^0.9.9
- orchestra/testbench: ^3.4
- phpunit/phpunit: ^6.0
- vlucas/phpdotenv: ^2.4
This package is auto-updated.
Last update: 2024-11-14 07:35:48 UTC
README
Installation
First install this package using composer:
composer require stephanecoinon/mailtrap
Plain Vanilla PHP
use StephaneCoinon\Mailtrap\Client; use StephaneCoinon\Mailtrap\Model; // Instantiate Mailtrap API client $client = new Client('your_mailtrap_api_token_here'); // Boot API models Model::boot($client);
Laravel
This package includes a Laravel service provider (tested for Laravel v5.4).
Add your Mailtrap API token to your .env
file.
MAILTRAP_API_TOKEN=your_mailtrap_api_token_here
Then add mailtrap in your config/services.php
configuration:
'mailtrap' => [ 'token' => env('MAILTRAP_API_TOKEN'), ],
Finally, if your app runs on Laravel < 5.5, register the Mailtrap service provider in config/app.php
:
'providers' => [ // ... /* * Package Service Providers... */ // ... StephaneCoinon\Mailtrap\MailtrapServiceProvider::class, // ... ],
Otherwise it will be discovered automatically on Laravel >= 5.5.
Usage
use StephaneCoinon\Mailtrap\Inbox; // Fetch all inboxes $inboxes = Inbox::all(); // Fetch an inbox by its id $inbox = Inbox::find(1234); // Get all messages in an inbox $messages = $inbox->messages(); // Get a message by its id $message = $inbox->message(123456789); $message->htmlBody(); // Get the HTML body (also sets html_body attribute on the message) $message->textBody(); // Get the plain text body (also sets txt_body attribute on the message) $message->rawBody(); // Get the raw body (also sets raw_body attribute on the message) $message->headers(); // Get the headers as an array (also sets headers attribute on the message) // Get the last (newest) message in an inbox $newestMessage = $inbox->lastMessage(); // Delete all messages from an inbox $inbox = $inbox->empty(); $inbox = (new Inbox)->empty(1234); // alternative syntax using the inbox id // Determine whether the inbox contains a message for a given recipient e-mail $recipientReceivedMessage = $inbox->hasMessageFor('john@example.com'); // Get message recipients as an array $recipients = $message->recipientEmails();