Qmail-Deliverable

 view release on metacpan or  search on metacpan

lib/Qmail/Deliverable/Comparison.pod  view on Meta::CPAN


http://ankh-morp.org/~vetinari/projects/qpsmtpd/

=back

=head3 Level 3

Level 3 solutions do everything that level 2 solutions do, but fully support
qmail-local logic, and can be added to existing local delivery mailservers
without changing their setup. This does, of course, assume that the mail setup
is based on qmail's structure and not a heavily patched system that changes the
delivery rules, as is the case with qmail-ldap (although that has its own
recipient checking).

=over 4

=item check_delivery plugin for qpsmtpd

Written in Perl, checks against qmail-local logic using a suid root program.

No longer developed or maintained. The documentation says that .qmail-default
files are only fully supported for the alias user, but there does seem to be
code for supporting .qmail-ext-default.

It requires an external suid root program, dot-qmail-exists.pl, that seems to
have vanished from the web. Even a re-implementation because the original could
not be found, is either no longer there, or very well hidden.

Does not reach level 4 because it checks rcpthosts, not locals+virtualhosts
(which would be okay if it also checked smtproutes, but it doesn't).

http://www.nntp.perl.org/group/perl.qpsmtpd/2005/06/msg3174.html

http://www.redhotpenguin.com/check_delivery

=back

=head3 Level 4

Level 4 solutions do everything that level 3 solutions do, but also support
qmail-send logic. That is: non-local email is I<accepted>, so that it can be
relayed to another server. This makes the solutions (almost) drop-in compatible
with most qmail setups.

=over 4

=item qmail-realrcptto patch for qmail-smtpd

Written in C, checks against qmail-local logic.

Runs under the same user as qmail-smtpd and as such may not be able to access
users' files. It does not have any special support for vpopmail, fastforward,
or bouncesaying, i.e. all .qmail-default files are considered catch all.

http://code.dogmap.org/qmail/

=item qmail-verify daemon + patch for qmail-smtpd

Written in C, checks against qmail-local logic and dot-qmail using a daemon.

In hindsight, my solution was probably mostly inspired by this nice piece of
software. A light weight daemon works together with a patched qmail-smtpd, and
they communicate through UDP. A single bit, 0 or 1, determines the fate of the
current message. While possibly susceptible to spoofing and race conditions,
that's unlikely because all the malicious hacker can probably accomplish, is
that email is rejected.

Unfortunately it has no support for vpopmail, bouncesaying, or fastforward.

This solution is networked and lets you pick the server based on the connecting
host. That's almost sufficient for using the client on a mail hub, which
requires some kind of domain to qmail-verify host mapping.

http://www.nwdb.co.uk/email/qmail-verify.html

=item check_validrcptto_cdb plugin for qpsmtpd

Written in Perl, checks against a CDB. Together with mkvalidrcptto, qualifies
as level 4.

http://robinbowes.com/projects/check_validrcptto_cdb

=item check_qmail_deliverable plugin for qpsmtpd

Written in Perl, checks against qmail-send and qmail-local logic and dot-qmail
using a daemon.

This is the plugin that comes with the Qmail::Deliverable distribution. It uses
the bundled qmail-deliverabled daemon which is like qmail-verify, but heavier.
It inherits all supported features from Qmail::Deliverable::deliverable, which
means that it works well with vpopmail and bouncesaying, but not fastforward.

Its networking can be configured to look in the smtproutes configuration file
to find the server to query, so it can easily be used on a mail hub.

This is the only solution that I know of, that separates the core functionality
and provides it as a software library -- in this case, a Perl module. This
makes writing a similar plugin for qmail-spp or magic-smtpd relatively simple.

http://search.cpan.org/~juerd/Qmail-Deliverable/

=back

=head3 Unknown support level

=over 4

=item chkrcptto plugin for qmail-spp

Closed source, distributed with Plesk. I have no idea how well it would work
with a non-plesk setup.

http://www.swsoft.com/plesk/

=back

=head2 Recipient list generators

These programs read your qmail configuration files and generate a list of valid
recipients.



( run in 0.950 second using v1.01-cache-2.11-cpan-71847e10f99 )