NAME
Mojolicious::Plugin::MailException - Mojolicious plugin to send crash information by email
SYNOPSIS
package MyServer;
use Mojo::Base 'Mojolicious';
sub startup {
my ($self) = @_;
$self->plugin(MailException => {
from => 'robot@my.site.com',
to => 'mail1@my.domain.com, mail2@his.domain.com',
subject => 'My site crashed!',
headers => {
'X-MySite' => 'crashed'
},
stack => 10
});
}
DESCRIPTION
The plugin catches all exceptions, packs them into email and sends them to email.
There are some plugin options:
- from
-
From-address for email (default root@localhost)
- to
-
To-address(es) for email (default webmaster@localhost)
- subject
-
Subject for crash email
- headers
-
Hash with headers that have to be added to mail
- stack
-
Stack size for crash mail. Default is
20
. - maildir
-
This option saves (stores) messages in the maildir instead of sending them. If you catch too many crashes, then their sending probably uses too much of the CPU, so by using this option you may save your messages instead of sending them.
The option is ignored if
send
option is defined. - send
-
Subroutine that can be used to send the mail, example:
sub startup { my ($self) = @_; $self->plugin(MailException => { send => sub { my ($mail, $exception) = @_; $mail->send; # prepared MIME::Lite object } }); }
In the function You can send email by yourself and (or) prepare and send Your own mail (sms, etc) message using $exception object. See Mojo::Exception.
The plugin provides additional method (helper) mail_exception.
$cx->mail_exception('my_error', { 'X-Add-Header' => 'value' });
You can use the helper to raise exception with additional mail headers.
VCS
The plugin is placed on github.
COPYRIGHT AND LICENCE
Copyright (C) 2012 by Dmitry E. Oboukhov <unera@debian.org>
Copyright (C) 2012 by Roman V. Nikolaev <rshadow@rambler.ru>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.