diff --git a/Changes b/Changes index fc87d12..7d1cb96 100644 --- a/Changes +++ b/Changes @@ -2,8 +2,12 @@ Use /usr/bin/perl instead of the non-standard /home/perl/bin/perl + Better installation instructions and error message when no plugin + allowed or denied relaying (thanks to Lars Rander + ). -2002/10/09 - 0.11 + +0.11 - 2002/10/09 Make a "queue" plugin hook and move the qmail-queue functionality to plugins/queue/qmail-queue. This allows you to make qpsmtpd @@ -39,7 +43,7 @@ when the MAIL command is being done) -2002/09/08 - v0.10 Released +0.10 - 2002/09/08 New object oriented internals diff --git a/README b/README index edf30b6..2f862d2 100644 --- a/README +++ b/README @@ -47,7 +47,10 @@ 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 +chmod o+t ~smtpd/qpsmtpd/ (or whatever directory you installed qpsmtpd +in) to make supervise start the log process. + +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! @@ -56,7 +59,7 @@ 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. +some other way. Configuration @@ -86,7 +89,11 @@ 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: +Configuration files +------------------- + +All the files used by qmail-smtpd should be supported; so see the man +page for qmail-smtpd. Extra files used by qpsmtpd includes: plugins @@ -134,4 +141,21 @@ Extra files you can use to configure qpsmtpd: 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). - \ No newline at end of file + + + +Plugins +------- + +The qpsmtpd core only implements the SMTP protocol. No useful +function can be done by qpsmtpd without loading plugins. + +Plugins are loaded on startup where each of them register their +interest in various "hooks" provided by the qpsmtpd core engine. + +At least one plugin MUST allow or deny the RCPT command to enable +receiving mail. The "check_relay" plugin is the standard plugin for +this. Other plugins provides extra functionality related to this; for +example the require_resolvable_fromhost plugin described above. + + diff --git a/lib/Qpsmtpd/SMTP.pm b/lib/Qpsmtpd/SMTP.pm index 387a253..df27a73 100644 --- a/lib/Qpsmtpd/SMTP.pm +++ b/lib/Qpsmtpd/SMTP.pm @@ -214,7 +214,7 @@ sub rcpt { return $self->transaction->add_recipient($rcpt); } else { - return $self->respond(450, "Could not determine of relaying is allowed"); + return $self->respond(450, "No plugin decided if relaying is allowed"); } return 0; }