Luka::Mailer - wrapper around Mail::SendEasy


Luka documentation Contained in the Luka distribution.

Index


Code Index:

NAME

Top

Luka::Mailer - wrapper around Mail::SendEasy

SYNOPSIS

Top

  my $mess = Luka::Mailer->new
             ( to         => "some@some.org",
	       cc         => "bla@bla.org",
	       subject    => "some message", 
	       from       => "me@bla.org",
	       body       => "lots of text. ta.\n"
	     );    

  if ($mess->send("Email sent")) {

      do_something();

  } else {

      warn "Couldn't sent email";

  }

SEE ALSO

Top

Mail::SendEasy, Luka

AUTHOR

Top

Toni Prug <toni@irational.org>

COPYRIGHT

Top


Luka documentation Contained in the Luka distribution.
package Luka::Mailer;

# $Id: Mailer.pm,v 1.3 2006/02/27 21:43:59 toni Exp $

use strict;
use Mail::SendEasy;
use Data::Dumper;

sub new {
    my $self = shift;
    my $class = ref($self) || $self;
    my %args = @_;

    my $obj = { };
    bless $obj, $class;

    my $mail = Mail::SendEasy->new(
				   smtp => 'localhost' ,
				   );
    my $f;
    foreach my $field (keys %args) {
	$f = $field eq "body" ? "message" : $field;
	push @{$obj->{opts}}, $f, $args{$field};
    };

    $obj->{mail} = $mail;
    return $obj;
}

sub error {
   my ($self)  = @_;
   return $self->{mail}->error;
}

sub send {
    my ($self, $msg)  = @_;

    my @opts = $self->{opts};
    my $status = $self->{mail}->send(@{$self->{opts}});

    if (!$status) { print $self->error . "\n" ; return  }
    else          { return 1                            }
}

1;