sheldonreiff / laravel-postmark

A Postmark adapter for Laravel

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Postmark

Laravel Postmark

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Postmark is the easiest and most reliable way to be sure your important transactional emails get to your customer's inbox.

Upgrading

Please see UPGRADE for details.

Installation

You can install the package via composer:

$ composer require coconutcraig/laravel-postmark

The package will automatically register itself.

You can optionally publish the config file with:

php artisan vendor:publish --provider="Coconuts\Mail\PostmarkServiceProvider" --tag="config"

Usage

Update your .env file by adding your server key and set your mail driver to postmark.

MAIL_DRIVER=postmark
POSTMARK_SECRET=YOUR-SERVER-KEY-HERE

That's it! The mail system continues to work the exact same way as before and you can switch out Postmark for any of the pre-packaged Laravel mail drivers (smtp, mailgun, log, etc...).

Remember, when using Postmark the sending address used in your emails must be a valid Sender Signature that you have already configured.

Postmark Tags

If you rely on categorizing your outgoing emails using Tags in Postmark, you can simply add a header within your Mailable class's build method.

public function build()
{
    $this->withSwiftMessage(function (\Swift_Message $message) {
        $message->getHeaders()->addTextHeader('tag', 'value');
    });
}

Postmark Metadata

Similar to tags, you can also include metadata by adding a header. Metadata headers should be prefixed with metadata- where the string that follows is the metadata key.

public function build()
{
    $this->withSwiftMessage(function (\Swift_Message $message) {
        $message->getHeaders()->addTextHeader('metadata-field', 'value');
        $message->getHeaders()->addTextHeader('metadata-another-field', 'another value');
    });
}

In this case, the following object will be sent to Postmark as metadata.

{
    "field": "value",
    "another-field", "another value"
}

Change log

Please see CHANGELOG for more information on what has changed recently.

Testing

$ composer test

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

If you discover any security related issues, please email craig.paul@coconutcalendar.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

A Postmark adapter for Laravel

License:MIT License


Languages

Language:PHP 100.0%