9916cfc038
on onion?) git-svn-id: https://svn.perl.org/qpsmtpd/trunk@71 958fd67b-6ff1-0310-b445-bb7760255be9 |
||
---|---|---|
config.sample | ||
lib | ||
log | ||
plugins | ||
.cvsignore | ||
Changes | ||
CREDITS | ||
LICENSE | ||
qpsmtpd | ||
README | ||
README.plugins | ||
run | ||
STATUS |
Qpsmtpd - qmail perl simple mail transfer protocol daemon --------------------------------------------------------- web: http://develooper.com/code/qpsmtpd/ mailinglist: qpsmtpd-subscribe@perl.org What is Qpsmtpd? ---------------- Qpsmtpd is an extensible smtp engine written in Perl. No, make that easily extensible! See plugins/quit_fortune for a very useful, er, cute example. What's new in version 0.10? --------------------------- Version 0.10 is all rearchitected, with an object oriented plugin infrastructure. Weeh, that sounds fancy! Of course it is keeping the well tested core code from version 0.0x which have had more than a years production usage on many sites. Noteworthy new features includes a SpamAssassin integration plugin, more documentation and support for arbitrarily large messages without exhausting memory (up to the size of whatever your file system supports). Installation ------------ Make a new user and a directory where you'll install qpsmtpd. I usually use "smtpd" for the user and /home/smtpd/qpsmtpd/ for the directory. Put the files there. If you install from CVS you can just do cvs -d :pserver:anonymous@cvs.perl.org:/cvs/public co qpsmtpd in the /home/smtpd/ dir. Now edit the file config/IP and put the ip address you want to use for qpsmtpd on the first line (or use 0 to bind to all interfaces). If you use the supervise tools, then you are practically done now! Just symlink /home/smtpd/qpsmtpd into your /services (or /var/services or /var/svscan or whatever) directory. Remember to shutdown qmail-smtpd if you are replacing it with qpsmtpd. If you don't use supervise, then you need to run the ./run script in some other way when you startup. Configuration ------------- Configuration files can go into either /var/qmail/control or into the config subdirectory of the qpsmtpd installation. Configuration should be compatible with qmail-smtpd making qpsmtpd a drop-in replacement. If there is anything missing, then please send a patch (or just information about what's missing) to the mailinglist or to ask@develooper.com. Problems -------- First, check the logfile. As default it goes into log/main/current. Qpsmtpd can log a lot of debug information. You can get more or less by adjusting $TRACE_LEVEL in lib/Qpsmtpd.pm (sorry, no easy switch for that yet). Something between 1 and 3 should give you just a little bit. If you set it to 10 or higher you will get lots of information in the logs. If the logfile doesn't give away the problem, then post to the mailinglist (subscription instructions above). If possibly then put the logfile on a webserver and include a reference to it in the mail. Extra files you can use to configure qpsmtpd: plugins List of plugins, one per line, to be loaded in the order they appear in the file. Plugins are in the plugins directory (or in a subdirectory of there). rhsbl_zones Right hand side blocking lists, one per line. For example: dsn.rfc-ignorant.org does not accept bounces - http://www.rfc-ignorant.org/ See http://www.rfc-ignorant.org/ for more examples. dnsbl_zones Normal ip based dns blocking lists ("RBLs"). For example: relays.ordb.org spamsources.fabel.dk require_resolvable_fromhost If this file contains anything but a 0 on the first line, envelope senders will be checked against DNS. If an A or a MX record can't be found the mail command will return a soft rejection (450). ... everything (?) that qmail-smtpd supports. In my test qpsmtpd installation I have a "config/me" file containing the hostname I use for testing qpsmtpd (so it doesn't introduce itself with the normal name of the server).