The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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'
        }
    });
}

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

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.