| Log-Dispatch documentation | Contained in the Log-Dispatch distribution. |
Log::Dispatch::Email::MailSender - Subclass of Log::Dispatch::Email that uses the Mail::Sender module
version 2.29
use Log::Dispatch;
my $log = Log::Dispatch->new(
outputs => [
[
'Email::MailSender',
min_level => 'emerg',
to => [qw( foo@example.com bar@example.org )],
subject => 'Big error!'
]
],
);
$log->emerg("Something bad is happening");
This is a subclass of Log::Dispatch::Email that implements the send_email method using the Mail::Sender module.
Dave Rolsky <autarch@urth.org>
This software is Copyright (c) 2011 by Dave Rolsky.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
| Log-Dispatch documentation | Contained in the Log-Dispatch distribution. |
package Log::Dispatch::Email::MailSender; BEGIN { $Log::Dispatch::Email::MailSender::VERSION = '2.29'; } # By: Joseph Annino # (c) 2002 # Licensed under the same terms as Perl # use strict; use warnings; use Log::Dispatch::Email; use base qw( Log::Dispatch::Email ); use Mail::Sender (); sub new { my $proto = shift; my $class = ref $proto || $proto; my %p = @_; my $smtp = delete $p{smtp} || 'localhost'; my $self = $class->SUPER::new(%p); $self->{smtp} = $smtp; return $self; } sub send_email { my $self = shift; my %p = @_; local $?; eval { my $sender = Mail::Sender->new( { from => $self->{from} || 'LogDispatch@foo.bar', replyto => $self->{from} || 'LogDispatch@foo.bar', to => ( join ',', @{ $self->{to} } ), subject => $self->{subject}, smtp => $self->{smtp}, } ); die "Error sending mail ($sender): $Mail::Sender::Error" unless ref $sender; ref $sender->MailMsg( { msg => $p{message} } ) or die "Error sending mail: $Mail::Sender::Error"; }; warn $@ if $@; } 1; # ABSTRACT: Subclass of Log::Dispatch::Email that uses the Mail::Sender module
__END__