mailfront
Mail server network protocol front-ends
Bruce Guenter <bruce@untroubled.org>
Version 1.12
2009-02-16
This is mailfront, a package containing customizeable network front-ends
for mail servers. It contains complete SMTP, QMQP, QMTP, and POP3
front-ends as well as an authentication module for IMAP. The mail
delivery front-ends also contain internal address filtering features.
Two SMTP back-ends are provided. One delivers mail to qmail-queue,
mimicking most of the behavior of qmail-smtpd, with the addition of
support for SMTP AUTH. The other rejects all SMTP commands if
$SMTPREJECT is set, and execs its command line otherwise (in order to
run the above program).
A mailing list has been set up to discuss this and other packages.
To subscribe, send an email to:
bgware-subscribe@lists.untroubled.org
A mailing list archive is available at:
http://lists.untroubled.org/?list=bgware
Development versions of mailfront are available via git at:
http://bruce-guenter.dyndns.org/git/mailfront.git
Requirements:
- bglibs version 1.101
- cvm version 0.81
Installation:
- Build the sources by running "make".
- After the package has been compiled, run "make install" as root.
Configuration:
- To take advantage of the SMTP AUTH features, make sure you have a CVM
authentication program (some are included with the cvm package itself).
- Run a CVM authentication module to provide the AUTH feature.
Example: To run cvm-vmailmgr as a daemon:
exec /usr/local/bin/softlimit -m 9000000 \
/usr/local/bin/cvm-vmailmgr /tmp/.cvm-vmailmgr 2>&1
- Configure your mail system to use the SMTP back-end with the
appropriate environment variables.
Example using tcpserver (highly recommended):
#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
MAXSMTPD=`head -1 /var/qmail/control/concurrencyincoming`
if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" ]; then
echo $0: QMAILDUID, NOFILESGID, or MAXSMTPD is unset
exit 1
fi
exec \
/usr/local/bin/envdir /etc/smtpfront \
/usr/local/bin/softlimit -m 2000000 \
/usr/local/bin/tcpserver -v -R -H \
-l "`head -1 /var/qmail/control/me`" -x /etc/tcp.smtp.cdb \
-c "$MAXSMTPD" -u "$QMAILDUID" -g "$NOFILESGID" 0 25 \
/usr/local/bin/smtpfront-qmail 2>&1
/etc/smtpfront/CVM_SASL_PLAIN:
cvm-local:/tmp/.cvm-vmailmgr
Example using xinetd with TCP Wrappers:
/etc/xinetd.d/smtp:
# default: on
# description: smtp
service smtp
{
disable = no
flags = REUSE NAMEINARGS
socket_type = stream
protocol = tcp
wait = no
user = qmaild
server = /usr/sbin/tcpd
server_args = /var/qmail/bin/tcp-env -R /usr/local/sbin/smtpfront-wrapper
log_on_success += USERID
log_on_failure += USERID
}
/usr/local/sbin/smtpfront-wrapper:
#!/bin/sh
CVM_SASL_PLAIN=cvm-local:/tmp/.cvm-unix
export CVM_SASL_PLAIN
CVM_SASL_LOGIN=cvm-local:/tmp/.cvm-unix
export CVM_SASL_LOGIN
exec /usr/local/bin/smtpfront-qmail 2>> /tmp/smtpfront-errs.txt
This project was initiated at FutureQuest, Inc. We are releasing it
as an open-source project because we felt it would be useful to others,
as well as to repay our debt of gratitude to the larger open-source
community for the excellent packages we have enjoyed.
For more details, you may contact FutureQuest, Inc. at:
FutureQuest, Inc.
PO BOX 623127
Oviedo FL 32762-3127 USA
http://www.FutureQuest.net/
ossi@FutureQuest.net
This package is Copyright(C) 2009 Bruce Guenter or FutureQuest, Inc.,
and may be copied according to the GNU GENERAL PUBLIC LICENSE (GPL)
Version 2 or a later version. A copy of this license is included with
this package. This package comes with no warranty of any kind.
Name Modification Time Size
Parent Directory 2009-01-21 10:42 - ANNOUNCEMENT 2009-02-16 16:39 5k ChangeLog 2009-02-16 16:39 172k NEWS 2009-02-16 16:39 19k TODO 2009-02-16 16:39 1k archive 2009-02-16 16:39 - backend-echo.html 2009-02-16 16:39 373 backend-qmail.html 2009-02-16 16:39 801 fc1 2008-03-11 10:56 - fc2 2009-02-16 16:39 - imapfront.html 2009-02-16 16:39 993 mailfront-1.12-1.src.rpm 2009-02-16 16:39 105k mailfront-1.12.tar.gz 2009-02-16 16:35 102k mailfront-1.12.tar.gz.sig 2009-02-16 16:35 189 mailfront.html 2009-02-16 16:39 4k mailrules.html 2009-02-16 16:39 7k mailrulesx.html 2009-02-16 16:39 10k msa.html 2009-02-16 16:39 5k plugin-accept-recipient.html 2009-02-16 16:39 494 plugin-accept-sender.html 2009-02-16 16:39 482 plugin-accept.html 2009-02-16 16:39 567 plugin-add-received.html 2009-02-16 16:39 2k plugin-api.html 2009-02-16 16:39 10k plugin-check-fqdn.html 2009-02-16 16:39 908 plugin-clamav.html 2009-02-16 16:39 2k plugin-counters.html 2009-02-16 16:39 939 plugin-cvm-validate.html 2009-02-16 16:39 887 plugin-force-file.html 2009-02-16 16:39 511 plugin-mailrules.html 2009-02-16 16:39 736 plugin-patterns.html 2009-02-16 16:39 2k plugin-qmail-validate.html 2009-02-16 16:39 955 plugin-reject.html 2009-02-16 16:39 891 plugin-relayclient.html 2009-02-16 16:39 754 plugin-require-auth.html 2009-02-16 16:39 550 plugin-template.c 2009-02-16 16:39 2k plugin-template.html 2009-02-16 16:39 381 pop3front.html 2009-02-16 16:39 2k protocol-qmqp.html 2009-02-16 16:39 521 protocol-qmtp.html 2009-02-16 16:39 428 protocol-smtp.html 2009-02-16 16:39 2k rh6 2009-02-16 16:39 - rh7 2009-02-16 16:39 - std-handle.html 2009-02-16 16:39 2k
RPM File: mailfront-1.12-1.src.rpm
Name : mailfront Relocations: (not relocateable) Version : 1.12 Vendor: (none) Release : 1 Build Date: Mon 16 Feb 2009 04:35:49 PM CST Group : Utilities/System Source RPM: (none) Size : 105817 License: GPL Packager : Bruce Guenter <bruce@untroubled.org> URL : http://untroubled.org/mailfront/ Summary : Mail server network protocol front-ends Description : This is mailfront, a package containing customizeable network front-ends for mail servers. Handles POP3, QMQP, QMTP, SMTP, and IMAP (authentication only). Requires : bglibs >= 1.101 cvm-devel >= 0.81 rpmlib(CompressedFileNames) <= 3.0.4-1