GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
AUTH(3) User Contributed Perl Documentation AUTH(3)

Net::Server::Mail::ESMTP::AUTH - SMTP Authentification extensions for Net::Server::Mail::ESMTP

  use Net::Server::Mail::ESMTP;
  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::ESMTP socket => $conn;
  
    # activate AUTH extension
    $esmtp->register('Net::Server::Mail::ESMTP::AUTH');

    # adding AUTH handler
    $esmtp->set_callback(AUTH => \&validate_auth);
    $esmtp->set_callback(DATA => \&queue_message);
    $esmtp->process;
  }

  sub validate_auth
  {
    my ($session, $username, $password) = @_;

    if ($username eq 'ROBERT' and $password eq 'TOTO04') {
      # AUTH SUCCESFULL
      $session->{AUTH}->{ok} = 1;
      return 1;
    } else {
      # AUTH FAILED
      return 0;
    }
  }

sub queue_message { my($session, $data) = @_;

    # providing AUTH doesn't make it mandatory.
    # A client might not use AUTH at all!
    # You must deal now with permissions:

    unless ($session->{AUTH}->{ok}) {
        # warn "no AUTH supplied!";
        return(0, 530, 'Error: Authentication required');
    }
    ... do stuff
}

  * AUTH LOGIN method support
  * AUTH PLAIN method support

"Net::Server::Mail::ESMTP::AUTH" is an extension to provide ESMTP Authentification support to Net::Server::Mail::ESMTP module. Actually only AUTH LOGIN and AUTH PLAIN methods are supported.

AUTH callback is called with login and password who was given by user's mail client, AUTH callback should return 1 when authentification mechanism was succesfull otherwise 0.

Please, see Net::Server::Mail::SMTP and Net::Server::Mail::ESMTP for more documentations.

Sylvain Cresto <scresto@gmail.com>

Thanks to Chris <chris at u- club.de>

Please send bug-reports to scresto@gmail.com.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Copyright (C) 2004, 2016 - Sylvain Cresto
2016-10-14 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.