logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

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

Description

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

Destroy

       "DESTROY" is defined and called "flush()".

Exports

       No exports.

Methods

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.

Name

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

Prerequisites

           Carp
           Params::Validate

Report Bugs

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

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

Synopsis

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

See Also