Egg::View::Mail::Plugin::Lot - MAIL plugin that enables specification of two or more destinations.


Egg-Release-Mail documentation Contained in the Egg-Release-Mail distribution.

Index


Code Index:

NAME

Top

Egg::View::Mail::Plugin::Lot - MAIL plugin that enables specification of two or more destinations.

SYNOPSIS

Top

  package MyApp::View::Mail::MyComp;
  use base qw/ Egg::View::Mail::Base /;

  ...........
  .....

  __PACKAGE__->setup_plugin('Lot');

DESCRIPTION

Top

It is MAIL plugin that enables the specification of two or more destinations.

When 'Lot' is passed to 'setup_plugin' method, it is built in.

METHODS

Top

send

Mail is transmitted.

Two or more addresses can be passed to 'to'.

  $mail->send(
    to => [qw/
      hoge@mydomain
      fooo@anydomain
      .....
      /],
    body => $mail_body,
    );

'send' method of Egg::View::Mail::Base is Obarraided.

SEE ALSO

Top

Egg::Release, Egg::View::Mail, Egg::View::Mail::Base,

AUTHOR

Top

Masatoshi Mizuno <lushe&64;cpan.org>

COPYRIGHT AND LICENSE

Top


Egg-Release-Mail documentation Contained in the Egg-Release-Mail distribution.

package Egg::View::Mail::Plugin::Lot;
#
# Masatoshi Mizuno E<lt>lusheE<64>cpan.orgE<gt>
#
# $Id: Lot.pm 285 2008-02-28 04:20:55Z lushe $
#
use strict;
use warnings;
use Carp qw/ croak /;

our $VERSION = '0.01';

sub send {
	my $self= shift;
	my $attr= { %{$self->config},
	  %{ $_[0] ? ($_[1] ? {@_}: $_[0]) : croak q{I want mail data.} },
	  };
	my $toadder= $attr->{to} || croak q{I want to address.};
	my $start_hook= $attr->{start_hook} || sub {};
	my $end_hook  = $attr->{end_hook}   || sub {};
	my $count;
	for (ref($toadder) eq 'ARRAY' ? @$toadder : $toadder) {
		++$count;
		my %data= ( %$attr, to=> $_ );
		$data{body}= $self->create_mail_body(\%data);
		$start_hook->($count, \%data);
		$self->mail_send(\%data);
		$end_hook->($count, \%data);
	}
	$count || 0;
}

1;

__END__