HomePage » Mail » Qmail » QmailDomainKeys


Qmail and DomainKeys


Get the source
wget http://superb-east.dl.sourceforge.net/sourceforge/domainkeys/libdomainkeys-0.68.tar.gz
wget http://www.qmail.org/qmail-1.03-dk-0.54.patch
wget http://www.qmail.org/moni.csi.hu/pub/glibc-2.3.1/qmail-1.03.errno.patch 
wget http://www.thedjbway.org/qmail/patches/qmail-1.03.big-dns.patch


Backup qmail and shut it down
tar zcvf qmail-backup.tar.gz /var/qmail /home/vpopmail /etc/tcp.smtp /service/qmail /service/smtp/
svc -d /service/{qmail,smtp}
killall -v qmail-remote


Install libdomainkeys
tar zxvf libdomainkeys-0.68.tar.gz
cd libdomainkeys-0.68
make


Install qmail-dk
tar zxvf /usr/local/src/qmail-1.03.tar.gz
# Move qmail inside libdomainkeys
mv qmail-1.03 libdomainkeys-0.68
cd qmail-1.03
patch -p1 < ../qmail-1.03.errno.patch
patch -p1 < ../qmail-1.03.big-dns.patch
patch -p1 < ../qmail-1.03-dk-0.54.patch
make qmail-dk
cp qmail-dk /var/qmail/bin/
cp qmail-dk.8 /var/qmail/man/man8/
chown qmailq /var/qmail/bin/qmail-dk
chmod 4711 /var/qmail/bin/qmail-dk


Generate key pair
mkdir -p /etc/domainkeys/example.com/
cd /etc/domainkeys/example.com/
openssl genrsa -out rsa.private 768
openssl rsa -in rsa.private -out rsa.public -pubout -outform PEM
mv rsa.private default
chown -R qmailq /etc/domainkeys
chmod 0600 default

# If qmail is not patched with qmailqueue
ln /var/qmail/bin/qmail-queue /var/qmail/bin/qmail-queue.orig
ln /var/qmail/bin/qmail-dk /var/qmail/bin/qmail-queue.new
mv /var/qmail/bin/qmail-queue.new /var/qmail/bin/qmail-queue


Create a TXT record
grep -v ^- rsa.public | perl -e 'while(<>){chop;$l.=$_;}print "t=y; p=$l;\n";'
# The TXT records are:
_domainkey.example.com. IN TXT "t=y; o=-";
default._domainkey.example.com. IN TXT "TXT record generated from previous step"


Modify /etc/tcp.smtp
10.0.0.2:allow,RELAYCLIENT="",DKSIGN="/etc/domainkeys/example.com/default",QMAILQUEUE="bin/qmail-dk"
:allow,DKVERIFY="DEGIJKfh",QMAILQUEUE="bin/qmail-dk"

# And rebuild the cdb 
qmailctl cdb


Sendmail wrapper
#!/bin/sh
export QMAILQUEUE=/var/qmail/bin/qmail-dk
export DKSIGN=/etc/domainkeys/example.com/default
exec /var/qmail/bin/sendmail "$@"


Reference http://jeremy.kister.net/howto/dk.html

There are no comments on this page. [Add comment]

Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by WikkaWiki