filips123 / monolog-phpmailer
PHPMailer handler for Monolog
Fund package maintenance!
Tidelift
filips123
Patreon
Ko Fi
Liberapay
donorbox.org/filips
buymeacoff.ee/filips
Installs: 43 209
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 3
Forks: 3
Open Issues: 1
Requires
- php: >= 8.1
- monolog/monolog: ^3.0
- phpmailer/phpmailer: ^6.0
Requires (Dev)
- phpunit/phpcov: ^9.0
- phpunit/phpunit: ^10.0
- squizlabs/php_codesniffer: ^3.0
README
MonologPHPMailer is a PHPMailer handler for Monolog. It enables you to send logs to emails with PHPMailer.
Installation
Requirements
MonologPHPMailer requires PHP 8.1 or higher, Monolog 3.x, and PHPMailer 6.x.
Using Composer
The recommended way to install MonologPHPMailer is with Composer, a dependency manager for PHP.
You should just add filips123/monolog-phpmailer
to your project dependencies in composer.json
. It will also install Monolog and PHPMailer, but it is recommended to add them manually to composer.json
.
{ "require": { "monolog/monolog": "^3.0", "phpmailer/phpmailer": "^6.0", "filips123/monolog-phpmailer": "^2.0" } }
Do not forget to run composer install
and add require 'vendor/autoload.php';
to your main script.
Manually Installation
Alternatively, you could download all files in the src
directory from GitHub and then manually include them in your script. You also have to install Monolog and PHPMailer manually.
Usage
You should just add the handler MonologPHPMailer\PHPMailerHandler
to your logger. Its first argument must be a PHPMailer instance.
Example
<?php use MonologPHPMailer\PHPMailerHandler; use Monolog\Formatter\HtmlFormatter; use Monolog\Logger; use Monolog\Processor\IntrospectionProcessor; use Monolog\Processor\MemoryUsageProcessor; use Monolog\Processor\WebProcessor; use PHPMailer\PHPMailer\PHPMailer; require __DIR__ . '/vendor/autoload.php'; $mailer = new PHPMailer(true); $logger = new Logger('logger'); $mailer->isSMTP(); $mailer->Host = 'smtp.example.com'; $mailer->SMTPAuth = true; $mailer->Username = 'server@example.com'; $mailer->Password = 'password'; $mailer->setFrom('server@example.com', 'Logging Server'); $mailer->addAddress('user@example.com', 'Your Name'); $logger->pushProcessor(new IntrospectionProcessor); $logger->pushProcessor(new MemoryUsageProcessor); $logger->pushProcessor(new WebProcessor); $handler = new PHPMailerHandler($mailer); $handler->setFormatter(new HtmlFormatter); $logger->pushHandler($handler); $logger->error('Error!'); $logger->alert('Something went wrong!');
Versioning
This library uses SemVer SemVer for versioning. For the versions available, see the tags on this repository.
License
This library is licensed under the MIT license. See the LICENSE file for details.