Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

net::server::mail::lmtp(3pm) [debian man page]

Net::Server::Mail::LMTP(3pm)				User Contributed Perl Documentation			      Net::Server::Mail::LMTP(3pm)

NAME
Net::Server::Mail::LMTP - A module to implement the LMTP protocole SYNOPSIS
use Net::Server::Mail::LMTP; my @local_domains = qw(example.com example.org); my $server = new IO::Socket::INET Listen => 1, LocalPort => 25; my $conn; while($conn = $server->accept) { my $esmtp = new Net::Server::Mail::LMTP socket => $conn; # adding some handlers $esmtp->set_callback(RCPT => &validate_recipient); $esmtp->set_callback(DATA => &queue_message); $esmtp->process(); $conn->close() } sub validate_recipient { my($session, $recipient) = @_; my $domain; if($recipient =~ /@(.*)>s*$/) { $domain = $1; } if(not defined $domain) { return(0, 513, 'Syntax error.'); } elsif(not(grep $domain eq $_, @local_domains)) { return(0, 554, "$recipient: Recipient address rejected: Relay access denied"); } return(1); } sub queue_message { my($session, $data) = @_; my $sender = $session->get_sender(); my @recipients = $session->get_recipients(); return(0, 554, 'Error: no valid recipients') unless(@recipients); my $msgid = add_queue($sender, @recipients, $data) or return(0); return(1, 250, "message queued $msgid"); } DESCRIPTION
This class implement the LMTP (RFC 2033) protocol. This class inherit from Net::Server::Mail::ESMTP. Please see Net::Server::Mail::ESMTP for documentation of common methods. EVENTS
Descriptions of callback who's can be used with set_callback method. All handle takes the Net::Server::Mail::ESMTP object as first argument and specific callback's arguments. LHLO Same as ESMTP EHLO, please see Net::Server::Mail::ESMTP. DATA Overide the default DATA event by a per recipient response. It will be called for each recipients with data (in a scalar reference) as first argument followed by the current recipient. SEE ALSO
Please, see Net::Server::Mail, Net::Server::Mail::SMTP and Net::Server::Mail::ESMTP. AUTHOR
Olivier Poitrey <rs@rhapsodyk.net> AVAILABILITY
Available on CPAN. anonymous SVN repository: svn co https://emailproject.perl.org/svn/Net-Server-Mail SVN repository on the web: http://emailproject.perl.org/svn/Net-Server-Mail/ BUGS
Please use CPAN system to report a bug (http://rt.cpan.org/). LICENCE
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA COPYRIGHT
Copyright (C) 2002 - Olivier Poitrey, 2007 - Xavier Guimard perl v5.10.0 2007-04-10 Net::Server::Mail::LMTP(3pm)

Check Out this Related Man Page

Net::Server::MultiType(3)				User Contributed Perl Documentation				 Net::Server::MultiType(3)

NAME
Net::Server::MultiType - Net::Server personality SYNOPSIS
use Net::Server::MultiType; @ISA = qw(Net::Server::MultiType); sub process_request { #...code... } my @types = qw(PreFork Fork Single); Net::Server::MultiType->run(server_type=>@types); DESCRIPTION
Please read the pod on Net::Server first. This module is a personality, or extension, or sub class, of the Net::Server module. This personality is intended to allow for easy use of multiple Net::Server personalities. Given a list of server types, Net::Server::MultiType will require one at a time until it finds one that is installed on the system. It then adds that package to its @ISA, thus inheriting the methods of that personality. ARGUMENTS
In addition to the command line arguments of the Net::Server base class, Net::Server::MultiType contains one other configurable parameter. Key Value Default server_type 'server_type' 'Single' server_type May be called many times to build up an array or possible server_types. At execution, Net::Server::MultiType will find the first available one and then inherit the methods of that personality CONFIGURATION FILE
"Net::Server::MultiType" allows for the use of a configuration file to read in server parameters. The format of this conf file is simple key value pairs. Comments and white space are ignored. #-------------- file test.conf -------------- ### multi type info ### try PreFork first, then go to Single server_type PreFork server_type Single ### server information min_servers 20 max_servers 80 spare_servers 10 max_requests 1000 ### user and group to become user somebody group everybody ### logging ? log_file /var/log/server.log log_level 3 pid_file /tmp/server.pid ### access control allow .+.(net|com) allow domain.com deny a.+ ### background the process? background 1 ### ports to bind host 127.0.0.1 port localhost:20204 port 20205 ### reverse lookups ? # reverse_lookups on #-------------- file test.conf -------------- PROCESS FLOW
See Net::Server HOOKS
There are no additional hooks in Net::Server::MultiType. TO DO
See Net::Server AUTHOR
Paul T. Seamons paul@seamons.com SEE ALSO
Please see also Net::Server::Fork, Net::Server::INET, Net::Server::PreFork, Net::Server::MultiType, Net::Server::Single perl v5.12.1 2007-02-02 Net::Server::MultiType(3)
Man Page