###################################################################################
#
# Embperl - Copyright (c) 1997-2004 Gerald Richter / ECOS
#
# You may distribute under the terms of either the GNU General Public
# License or the Artistic License, as specified in the Perl README file.
#
# THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# $Id: Mail.pm,v 1.4 2004/01/23 06:50:57 richter Exp $
#
###################################################################################
package Embperl::Syntax::Mail ;
use Embperl::Syntax qw{:types} ;
use Embperl::Syntax::HTML ;
use strict ;
use vars qw{@ISA} ;
@ISA = qw(Embperl::Syntax::HTML) ;
###################################################################################
#
# Methods
#
###################################################################################
# ---------------------------------------------------------------------------------
#
# Create new Syntax Object
#
# ---------------------------------------------------------------------------------
sub new
{
my $class = shift ;
my $self = Embperl::Syntax::HTML::new ($class) ;
if (!$self -> {-mailInit})
{
$self -> {-mailInit} = 1 ;
Init ($self) ;
}
return $self ;
}
###################################################################################
#
# Definitions for Mail HTML tags
#
###################################################################################
sub Init
{
my ($self) = @_ ;
$self -> AddTagBlock ('mail:send', ['from', 'to', 'cc', 'bcc', 'subject', 'reply-to',
'mailhost', 'mailhelo', 'maildebug'], undef, undef,
{
removenode => 42,
compiletimeperlcode => q{
$_ep_mail_opt_save = $Embperl::req->component->config->options ;
$Embperl::req->component->config->options (Embperl::Constant::optKeepSpaces | $_ep_mail_opt_save) ;
},
compiletimeperlcodeend => q{
$Embperl::req->component->config->options ($_ep_mail_opt_save) ;
},
perlcodeend => q{
{
use Embperl::Mail ;
my $txt = XML::Embperl::DOM::Node::iChildsText (%$n%) ;
$? = Embperl::Mail::Execute (
{
'input' => \$txt,
'inputfile' => 'mail',
'syntax' => 'Text',
'from' => %&'from%,
'to' => %&'to%,
'cc' => %&'cc%,
'bcc' => %&'bcc%,
'subject' => %&'subject%,
'reply-to' => %&'reply-to%,
'mailhost' => %&'mailhost%,
'mailhelo' => %&'mailhelo%,
'maildebug' => %&'maildebug%,
}) ;
}
},
stackname => 'mail_send',
'push' => '%$x%',
},
) ;
}
###################################################################################
#
# Mail Implementation
#
###################################################################################
1;
__END__
=pod
=head1 NAME
Embperl Taglib for sending mail
=head1 SYNOPSIS
[$ syntax + Mail $]