Log::Handler::Output::Sendmail - Log messages with sendmail.


Log-Handler documentation  | view source Contained in the Log-Handler distribution.

Index


NAME

Top

Log::Handler::Output::Sendmail - Log messages with sendmail.

SYNOPSIS

Top

    use Log::Handler::Output::Sendmail;

    my $email = Log::Handler::Output::Sendmail->new(
        from    => 'bar@foo.example',
        to      => 'foo@bar.example',
        subject => 'your subject',
    );

    $email->log(message => $message);

DESCRIPTION

Top

With this output module it's possible to log messages via sendmail.

METHODS

Top

new()

Call new() to create a new Log::Handler::Output::Sendmail object.

The following options are possible:

from

The sender address (From).

to

The receipient address (To).

cc

Carbon Copy (Cc).

bcc

Blind Carbon Copy (Bcc)

subject

The subject of the mail.

sender

This option is identical with sendmail -f.

header

With this options it's possible to set your own header.

    my $email = Log::Handler::Output::Sendmail->new(
        from   => 'bar@foo.example',
        to     => 'foo@bar.example',
        header => 'Content-Type: text/plain; charset= UTF-8',
    );

Or

    my $email = Log::Handler::Output::Sendmail->new(
        header => {
            From    => 'bar@foo.example',
            To      => 'foo@bar.example',
            Subject => 'my subject',
            'Content-Type' => text/plain; charset= UTF-8',
        }
    );

Or

    my $email = Log::Handler::Output::Sendmail->new(
        header => [
            'From: bar@foo.example',
            'To: foo@bar.example',
            'Subject: my subject',
            'Content-Type: text/plain; charset= UTF-8',
        ]
    );

sendmail

The default is set to /usr/sbin/sendmail.

params

Parameters for sendmail.

The default is set to -t.

maxsize

Set the maximum size of the buffer in bytes.

All messages will be buffered and if maxsize is exceeded the buffer is flushed and the messages will be send as email.

The default is set to 1048576 bytes.

Set 0 if you want no buffering and send a mail for each log message.

debug

Set 1 if you want to enable debugging.

The messages can be fetched with $SIG{__WARN__}.

log()

Call log() if you want to log a message as email.

    $email->log(message => "this message will be mailed");

If you pass the level then its placed into the subject:

    $email->log(message => "foo", level => "INFO");
    $email->log(message => "bar", level => "ERROR");
    $email->log(message => "baz", level => "DEBUG");

The lowest level is used:

    Subject: ERROR ...

You can pass the level with Log::Handler by setting

    message_pattern => '%L'

flush()

Call flush() if you want to flush the buffered messages.

validate()

Validate a configuration.

reload()

Reload with a new configuration.

errstr()

This function returns the last error message.

DESTROY

Top

DESTROY is defined and called flush().

PREREQUISITES

Top

    Carp
    Params::Validate

EXPORTS

Top

No exports.

REPORT BUGS

Top

Please report all bugs to <jschulz.cpan(at)bloonix.de>.

If you send me a mail then add Log::Handler into the subject.

AUTHOR

Top

Jonny Schulz <jschulz.cpan(at)bloonix.de>.

COPYRIGHT

Top


Log-Handler documentation  | view source Contained in the Log-Handler distribution.