Am trying to get Activestate Perl to run a Mail server...

been searching CPAN and found Net::Server::Mail::SMTP.

the line:
my $smtp = new Net::Server::Mail::SMTP socket => $conn;

gives me the error:
--
Can't locate object method "new" via package "Net::Server::Mail::SMTP" at
testserver3.pl line 11.
--

when I try to send mail through it.

I would very much like to have a working mailserver- no need for security ..
just a simple server.

the server code follows::

(straight from the CPAN documentation)
(http://search.cpan.org/~rsoliv/Net-Server-Mail-0.08/lib/Net/Server/Mail.pm)

____________________________________________________________________________
    use Net::Server::Mail::SMTP;

    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 $smtp = new Net::Server::Mail::SMTP socket => $conn;
        $smtp->set_callback(RCPT => \&validate_recipient);
        $smtp->set_callback(DATA => \&queue_message);
        $smtp->process;
    }

    sub validate_recipient
    {
        my($session, $recipient) = @_;
        
        my $domain;
        if($recipient =~ /@(.*)>\s*$/)
        {
            $domain = $1;
        }

        if(not defined $domain)
        {
            return(0, 513, 'Syntax error.');
        }
        elsif(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, [EMAIL PROTECTED], $data);
          or return(0);

        return(1, 250, "message queued $msgid");
    }


____________________________________________________

thank you,
       willy


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to