2017 © Pedro Peláez
 

library monolog-mailgun

Monolog handler for Mailgun

image

ttskch/monolog-mailgun

Monolog handler for Mailgun

  • Sunday, March 18, 2018
  • by ttskch
  • Repository
  • 1 Watchers
  • 0 Stars
  • 57 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 58 % Grown

The README.md

monolog-mailgun

Build Status Latest Stable Version Total Downloads, (*1)

Monolog handler for Mailgun using mailgun/mailgun-php., (*2)

Requirements

  • php:^7.2
  • monolog/monolog:^2.0

Installation

$ composer require ttskch/monolog-mailgun

Usage

$mg = \Mailgun\Mailgun::create('api_key');
$domain = 'mg.example.com';
$from = 'Alice <alice@example.com>';
$to = ['bob@foo.bar.com'];
$subject = '[Monolog] Error Report';

$handler = new \Ttskch\Monolog\Handler\MailgunHandler($mg, $domain, $from, $to, $subject);
$logger = new \Monolog\Logger('mailgun');
$logger->pushHandler($handler);
$logger->critical('Critical Error!');

Examples of framework integrations

Symfony4/5

# config/packages/mailgun.yaml
services:
    Mailgun\Mailgun:
        class: Mailgun\Mailgun
        factory: ['Mailgun\Mailgun', create]
        arguments: ['%env(MAILGUN_API_KEY)%']
# config/packages/prod/monolog.yaml
monolog:
    handlers:

        # ...

        email:
            type: fingers_crossed
            action_level: critical
            level: debug
            channels: ["!event"]
            handler: deduplicated
        deduplicated:
            type: deduplication # prevent multiply sending
            handler: mailgun
        mailgun:
            type: service
            id: Ttskch\Monolog\Handler\MailgunHandler

services:
    Ttskch\Monolog\Handler\MailgunHandler:
        arguments:
            - '@Mailgun\Mailgun'
            - mg.example.com # mailgun domain
            - Alice <alice@example.com> # from
            - [bob@foo.bar.com] # to
            - '[Monolog] Error Report' # subject
# .env
MAILGUN_API_KEY=api_key

Other

Feel free to send me a PR🙏, (*3)

The Versions