package Egg::View::Mail::Plugin::Lot; # # Masatoshi Mizuno ElusheE<64>cpan.orgE # # $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__ =head1 NAME Egg::View::Mail::Plugin::Lot - MAIL plugin that enables specification of two or more destinations. =head1 SYNOPSIS package MyApp::View::Mail::MyComp; use base qw/ Egg::View::Mail::Base /; ........... ..... __PACKAGE__->setup_plugin('Lot'); =head1 DESCRIPTION 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. =head1 METHODS =head2 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. =head1 SEE ALSO L, L, L, =head1 AUTHOR Masatoshi Mizuno ElusheE<64>cpan.orgE =head1 COPYRIGHT AND LICENSE Copyright (C) 2008 Bee Flag, Corp. ELE, All Rights Reserved. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available. =cut