Start install of qmail, ucspi-tcp, daemontools, and cdb tools
Install libdomainkeys
Patch & Install qmail
Install EZmlm
Autoresponder
Vpopmail with MySQL Support
Maildrop
Qmailadmin
Finalize qmail
#!/bin/sh PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin export PATH exec tcpserver -H -R -v -c100 0 110 qmail-popup your-fqdn \ /home/vpopmail/bin/vchkpw qmail-pop3d Maildir 2>&1
#!/bin/sh PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin export PATH exec setuidgid qmaill multilog t s100000 n20 /var/log/qmail/qmail-pop3d 2>&1
#!/bin/sh exec 2>&1 QMAILDUID=`id -u vpopmail` NOFILESGID=`id -g vpopmail` MAXSMTPD=`cat /var/qmail/control/concurrencyincoming` BLACKLIST=`cat /var/qmail/control/blacklists` RBLSMTPD="/usr/local/bin/rblsmtpd" LOCAL=`head -1 /var/qmail/control/me` SSL=0 FORCE_TLS=0 DENY_TLS=0 REQUIRE_AUTH=0 ALLOW_INSECURE_AUTH=1 VALIDRCPTTO_LIMIT=10 VALIDRCPTTO_LOG=1 SPF_LOG=1 SPF_BLOCK_PLUS_ALL=1 RECORDIO="" QGREYLIST="" ALLOW_CRAM=1 if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in echo /var/qmail/supervise/qmail-smtpd/run exit 1 fi if [ ! -f /var/qmail/control/rcpthosts ]; then echo "No /var/qmail/control/rcpthosts!" echo "Refusing to start SMTP listener because it'll create an open relay" exit 1 fi export SSL export FORCE_TLS export DENY_TLS export REQUIRE_AUTH export ALLOW_INSECURE_AUTH export VALIDRCPTTO_LIMIT export VALIDRCPTTO_LOG export SPF_LOG export SPF_BLOCK_PLUS_ALL export ALLOW_CRAM exec /usr/local/bin/softlimit -m 500000000 \ /usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \ $RBLSMTPD $BLACKLIST $RECORDIO $QGREYLIST /var/qmail/bin/qmail-smtpd your-FQDN \ /home/vpopmail/bin/vchkpw /usr/bin/true 2>&1 echo ERROR: command did not run correctly exit 1
#!/bin/sh PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin export PATH exec setuidgid qmaill multilog t s100000 n20 /var/log/qmail/qmail-smtpd 2>&1
#!/bin/sh exec /var/qmail/rc
#!/bin/sh PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin export PATH exec setuidgid qmaill multilog t s100000 n20 /var/log/qmail/qmail-send 2>&1
#!/bin/sh exec env - PATH="/var/qmail/bin:$PATH" \ qmail-start "`cat /var/qmail/control/defaultdelivery`"
#!/bin/sh
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin
export PATH
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
case "$1" in
start)
echo "Starting qmail..."
echo ""
if svok /service/qmail-send ; then
svc -u /service/qmail-send /service/qmail-send/log
echo "Starting qmail-send"
else
echo "qmail-send supervise not running"
fi
if svok /service/qmail-smtpd ; then
svc -u /service/qmail-smtpd /service/qmail-smtpd/log
echo "Starting qmail-smtpd"
else
echo "qmail-smtpd supervise not running"
fi
if svok /service/qmail-pop3d ; then
svc -u /service/qmail-pop3d /service/qmail-pop3d/log
echo "Starting qmail-pop3d"
else
echo "qmail-pop3d supervise not running"
fi
if svok /service/vpopmaild ; then
svc -u /service/vpopmaild /service/vpopmaild/log
echo "Starting vpopmaild"
else
echo "vpopmaild supervise not running"
fi
if [ -d /var/lock/subsys ]; then
touch /var/lock/subsys/qmail
fi
;;
stop)
echo "Stopping qmail..."
echo ""
echo " qmail-smtpd"
svc -d /service/qmail-smtpd /service/qmail-smtpd/log
echo " qmail-send"
svc -d /service/qmail-send /service/qmail-send/log
echo " qmail-pop3d"
svc -d /service/qmail-pop3d /service/qmail-pop3d/log
echo " vpopmaild"
svc -d /service/vpopmaild /service/vpopmaild/log
if [ -f /var/lock/subsys/qmail ]; then
rm /var/lock/subsys/qmail
fi
;;
stat)
svstat /service/qmail-send
svstat /service/qmail-send/log
svstat /service/qmail-smtpd
svstat /service/qmail-smtpd/log
svstat /service/qmail-pop3d
svstat /service/qmail-pop3d/log
svstat /service/vpopmaild
svstat /service/vpopmaild/log
qmail-qstat
;;
doqueue|alrm|flush)
echo "Flushing timeout table and sending ALRM signal to qmail-send."
/var/qmail/bin/qmail-tcpok
svc -a /service/qmail-send
;;
queue)
qmail-qstat
qmail-qread
;;
reload|hup)
echo "Sending HUP signal to qmail-send."
svc -h /service/qmail-send
;;
pause)
echo "Pausing qmail-send"
svc -p /service/qmail-send
echo "Pausing qmail-smtpd"
svc -p /service/qmail-smtpd
echo "Pausing qmail-pop3d"
svc -p /service/qmail-pop3d
echo "Pausing vpopmaild"
svc -p /service/vpopmaild
;;
cont)
echo "Continuing qmail-send"
svc -c /service/qmail-send
echo "Continuing qmail-smtpd"
svc -c /service/qmail-smtpd
echo "Continuing qmail-pop3d"
svc -c /service/qmail-pop3d
echo "Continuing vpopmaild"
svc -c /service/vpopmaild
;;
restart)
echo "Restarting qmail:"
echo "* Stopping qmail-smtpd."
svc -d /service/qmail-smtpd /service/qmail-smtpd/log
echo "* Sending qmail-send SIGTERM and restarting."
svc -t /service/qmail-send /service/qmail-send/log
echo "* Sending qmail-pop3d SIGTERM and restarting."
svc -t /service/qmail-pop3d /service/qmail-pop3d/log
echo "* Sending vpopmaild SIGTERM and restarting."
svc -t /service/vpopmaild /service/vpopmaild/log
echo "* Restarting qmail-smtpd."
svc -u /service/qmail-smtpd /service/qmail-smtpd/log
;;
cdb)
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
chmod 644 /etc/tcp.smtp.cdb
echo "Reloaded /etc/tcp.smtp."
;;
help)
cat <<HELP
stop -- stops mail service (smtp connections refused, nothing goes out)
start -- starts mail service (smtp connection accepted, mail can go out)
pause -- temporarily stops mail service (connections accepted, nothing leaves)
cont -- continues paused mail service
stat -- displays status of mail service
cdb -- rebuild the tcpserver cdb file for smtp
restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it
doqueue -- schedules queued messages for immediate delivery
reload -- sends qmail-send HUP, rereading locals and virtualdomains
queue -- shows status of queue
alrm -- same as doqueue
flush -- same as doqueue
hup -- same as reload
HELP
;;
*)
echo "Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}"
exit 1
;;
esac
exit 0Uninstalling Sendmail
Start qmail
$ telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK <12269.1153071383@your_server.com> user postmaster@domain_you_created_earlier.com +OK pass your_password +OK list +OK 1 1570 (this is your message) . quit +OK Connection closed by foreign host.
$ telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail.your_server.com ESMTP ehlo localhost 250-mail.your_server.com 250-STARTTLS 250-PIPELINING 250 8BITMIME starttls 220 ready for tls quit quit Connection closed by foreign host.
Courier imap/imaps with Courierpassd
# telnet localhost 106 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 200 courierpassd v1.1.1 hello, who are you? user postmaster@domain_you_created_earlier.com 200 Your password please. pass enter_your_password_here 200 Your new password please. newpass enter_your_new_password_here 200 Password changed, thank-you. quit 200 Bye. Connection closed by foreign host.
ClamAV
SpamAssassin
Simscan
Validrcptto Stuff
SquirrelMail
create database squirrelmail;
GRANT select,insert,update,delete ON squirrelmail.* TO sqmail@localhost IDENTIFIED BY 'password';
CREATE TABLE address (
owner varchar(128) DEFAULT '' NOT NULL,
nickname varchar(16) DEFAULT '' NOT NULL,
firstname varchar(128) DEFAULT '' NOT NULL,
lastname varchar(128) DEFAULT '' NOT NULL,
email varchar(128) DEFAULT '' NOT NULL,
label varchar(255),
PRIMARY KEY (owner,nickname),
KEY firstname (firstname,lastname)
);
CREATE TABLE userprefs (
user varchar(128) DEFAULT '' NOT NULL,
prefkey varchar(64) DEFAULT '' NOT NULL,
prefval BLOB DEFAULT '' NOT NULL,
PRIMARY KEY (user,prefkey)
);
flush privileges;