Egg::View::Mail::Mailer::SMTP - Mail is transmitted by using Net::SMTP.


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

Index


Code Index:

NAME

Top

Egg::View::Mail::Mailer::SMTP - Mail is transmitted by using Net::SMTP.

SYNOPSIS

Top

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

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

  __PACKAGE__->setup_mailer('SMTP');

DESCRIPTION

Top

It is Mailer system component to transmit mail by using Net::SMTP.

Use is enabled specifying 'SMTP' for the first argument of 'setup_mailer' method.

CONFIGURATION

Top

smtp_host

SMTP host name.

Default is 'localhost'.

timeout

Value of 'Timeout' passed to Net::SMTP.

Default is '3'.

debug

Value of 'Debug' passed to Net::SMTP.

METHODS

Top

mail_send ([MAIL_DATA_HASH])

This method is what 'send' method of Egg::View::Mail::Base calls it internally.

The obstacle is generated by operating the component built in when calling directly.

SEE ALSO

Top

Egg::Release, Egg::View::Mail, Egg::View::Mail::Base, Egg::View::Mail::Mailer::CMD,

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::Mailer::SMTP;
#
# Masatoshi Mizuno E<lt>lusheE<64>cpan.orgE<gt>
#
# $Id: SMTP.pm 285 2008-02-28 04:20:55Z lushe $
#
use strict;
use warnings;
use Carp qw/ croak /;
use Net::SMTP;

our $VERSION = '0.01';

sub mail_send {
	my $self= shift;
	my $data= $_[0] ? ($_[1] ? {@_}: $_[0]) : croak q{I want mail data.};
	my $host= $data->{smtp_host} || 'localhost';
	my $smtp= Net::SMTP->new( $host,
	  Timeout => ($data->{timeout} || 3),
	  Debug   => ($data->{debug}   || 0),
	  ) || die qq{ '$host' Connection error. };
	$smtp->mail($data->{from});
	$smtp->to($data->{to});
	$smtp->cc ($data->{cc})  if $data->{cc};
	$smtp->bcc($data->{bcc}) if $data->{bcc};
	$smtp->data();
	$smtp->datasend(${$data->{body}});
	$smtp->dataend();
	$smtp->quit();
	$self;
}

1;

__END__