Net::Server::POP3 - The Server Side of the POP3 Protocol
use Net::Server::POP3;
my $server = Net::Server::POP3->new(
severopts => \%options,
authenticate => \&auth,
list => \&list,
retrieve => \&retrieve,
delete => \&delete,
size => \&size,
welcome => "Welcome to my mail server.",
);
$server->startserver();
This is alpha code. That means it needs work and doesn't yet implement everything it should. Don't use it unless you don't mind fixing up the parts that you find need fixing up. Lots of parts still need fixing. You have been warned.
The code as it stands now works, for some definition of ``works''. With the included simpletest.pl script I have successfully served test messages that I have retrieved with Mozilla Mail/News. However, much work remains to be done.
It is strongly recommended to run with Taint checking enabled.
Stub documentation for this module was created by ExtUtils::ModuleMaker. It looks like the author of the extension was negligent enough to leave the stub at least partly unedited.
This module is designed to be the server/daemon itself and so to handle all of the communication to/from the client(s). The actual details of obtaining, storing, and keeping track of messages are left to other modules or to the user's own code. (See the sample script simpletest.pl for an example.)
The main method is startserver(), which starts the server. The
following named arguments may be passed either to new() or to
startserver(). All callbacks should be passed as coderefs.
If you pass an argument to new() and then pass an argument of
the same name to startserver(), the one passed to startserver()
overrides the one passed to new(). stopserver() has not been
implemented yet and so neither has restartserver().
This is not implemented yet.
Some things are just plain not implemented yet. The UIDL implementation uses the message-id as the unique id, rather than calculating a hash as suggested by RFC 1939. In practice, this seems to be what my ISP's mail server does (it calls itself InterMail), which has worked with every client I've thrown at it, so it should be mostly okay, but it's not strictly up to spec I think and may be changed in a later version. There may be other bugs as well; this is very alpha stuff. Significant changes may be made to the code interface before release quality is reached, so if you use this module now you may have to change your code when you upgrade. Caveat user.
Use the source, Luke. You can also contact the author with questions, but I cannot guarantee that I will be able to answer all of them in a satisfactory fashion. The code is supplied on an as-is basis with no warranty.
Jonadab the Unsightly One (Nathan Eady)
jonadab@bright.net
http://www.bright.net/~jonadab/
This program is free software licensed under the terms of...
The BSD License
The full text of the license can be found in the LICENSE file included with this module.
perl(1) Net::Server http://search.cpan.org/search?query=Net::Server Mail::POP3Client http://search.cpan.org/search?query=Mail::POP3Client
Usage : How to use this function/method
Purpose : What it does
Returns : What it returns
Argument : What it wants to know
Throws : Exceptions and other anomolies
Comments : This is a sample subroutine header.
: It is polite to include more pod and fewer comments.
See Also :