[ Home page | Software ]
This is no longer the home page for tpop3d. It is now hosted here.
tpop3d is a fast, extensible, secure UNIX POP3 server. `Extensible' is used specifically in the context of new authentication mechanisms. Presently the distribution contains auth-pam, which uses Linux-style Pluggable Authentication Modules to mediate access of registered users of a machine to their Unix-style mailboxes, auth-passwd for older Unix machines, and auth-mysql, which works with vmail-sql or other MySQL-based solutions to mediate access to virtual-domain email. auth-pgsql supplies similar functionality for PostgreSQL. auth-ldap allows authentication of users against an LDAP directory, and auth-flatfile uses files in the format of /etc/passwd. In addition, there are two authenticators which are designed to allow easy implementation of new authentication schemes without writing C code: auth-other, which allows you to write an external program to communicate with tpop3d via pipes; and auth-perl, which allows you to embed a perl interpreter in tpop3d to authenticate users with custom perl code. tpop3d supports TLS/SSL for encrypted communications.
tpop3d makes POP-before-SMTP relaying easy, providing configurable hooks which allow you to insert rows into a database, or call custom code either running in an embedded perl interpeter or in an arbitrary external program whenever a user is authenticated. The same facilities can be used to implement POP3 server `bulletin' support. In addition, tpop3d can notify a DRAC (`dynamic relay authentication control') or WHOSON server of logins.
tpop3d supports traditional (BSD-format) mailspools and, thanks to the efforts of Paul Makepeace, the maildir format of qmail. Location and type of mailspools can be selected flexibly at run time using the configuration file. There is also experimental support for index caching to improve performance with BSD mailspools; this is in the latest version. Adding support for new mailbox formats would be simple.
tpop3d is portable to modern systems. It builds successfully `out of the box' on Linux, modern BSD systems, Solaris and Mac OS X. The GNU autoconf mechanism is used to configure and build tpop3d (thanks to Mark Longair for this contribution), so should also build on other reasonable Unix systems.
tpop3d is free software, available under the terms of the GNU GPL.
If you have a query about tpop3d, please do not send me personal email. Send it to the mailing list instead. And before you do that, check the list archive to see whether someone else has already answered your question. You may send email to the list without subscribing to it, but email from subscribers is preferred.
You can download the source distribution, tpop3d-1.5.3.tar.gz, or read the README file. The previous version is also available: tpop3d-1.5.2.tar.gz. Or, you could read the manual pages for tpop3d(8), its configuration file, tpop3d.conf(5), the CREDITS file, or the (vaguely informative) change log. If you like to hack on other peoples' code, then take a look at the notes on hacking tpop3d and the list of things to do. If you are interested in adapting the MySQL authentication support in tpop3d to work with your database, you should also read README.auth_mysql. There is also a set of frequently asked questions about tpop3d, with answers.
It is also possible to obtain the source code for tpop3d from a public CVS server, as follows:
cvs -d :pserver:email@example.com:/home/chris/vcvs/repos login cvs -d :pserver:firstname.lastname@example.org:/home/chris/vcvs/repos co tpop3d
The password is `anonymous'. This service is experimental, but may help you
get the latest and greatest bleeding-edge version of the code. Note that to
compile tpop3d from CVS, you need to run the
to build the configure script.
I welcome patches and suggestions for tpop3d, and would be interested to hear if you get it running on an unusual architecture or in a novel configuration. The most convenient format for a patch is a unified diff against the version of the source code in CVS.
If you're looking for a good, simple POP3 client -- of the command line sort, i.e., like fetchmail, but actually some good -- then you might want to look at Mark Longair's just-hand-over-the-mail. It might also help you learn Ruby.
There is now a mailing list for tpop3d, to which you can subscribe by sending a mail with the subject `subscribe' to email@example.com. This is a low-traffic list which will also be used for announcements of new revisions of tpop3d. You can also view archived postings to the list.
Read this before you post to the mailing list! If you don't, I will just tell you to do so! Others on the mailing list may be more accomodating, but I wouldn't rely on it.
If you are reporting a bug, then try the following in order:
If you can't get tpop3d to work, or need help configuring it, then:
-voption to make it report more detailed diagnostics). Try to interpret them. Most of the diagnostics tpop3d logs are structured to include the name of the function that is issuing the error, some explanatory text, and the text of any pertinent system error. Typically this is enough to suggest the likely source of the problem.
./configurefails when you build tpop3d, don't include the whole output of the script, just the last few lines that indicate the error.
One last point: keep support mail on the mailing list. If you start sending me personal mail about tpop3d, I will bounce it to the mailing list. There is no way that I will answer questions about tpop3d for free without making the answers available to others. That's not how the game works.
Copyright (c) 2000-2003 Chris Lightfoot. All rights reserved.