################################################################################### # # 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 $] Hi, this is a test for a new mail tag it is send at [+ scalar(localtime) +] from Embperl's Mail taglib. [$ if $? $]

Sorry, there was an error, your mail couldn't be send

[$else$]

Your mail was successfully delivered

[$endif$] =head1 DESCRIPTION The is module provides a mail:send tag, for sending text via email. It uses the Embperl::Mail module for actualy sending the mail. The following attributes are recognized. The mail body is enclosed between the mail:send tags. See L for an description of the attribues: =over 4 =item from =item to =item cc =item bcc =item subject =item reply-to =item mailhost =item mailhelo =item maildebug =back On success it sets C<$?> to zero, otherwise to a value other then zero. =head1 Author Gerald Richter =head1 See Also Embperl::Syntax, Embperl::Syntax::HTML