对 debian 下的 exim4 添加 DKIM 支持,这里介绍一下在Deb
对 debian 下的 exim4 添加 DKIM 支持,这里介绍一下在Deb
exim是一款常见的邮件发送软件, 用自带的apt-get安装的exim4版本是不支持DKIM,我们必须要对其源码进行改造才行。这里介绍一下在Debian环境下对exim进行DKIM(DomainKeys Identified mail)邮件签名的支持。
# apt-get install libdkim-dev dpatch
在/etc/apt/sources.list中添加:
deb-src http://ftp.us.debian.org/debian lenny main contrib non-free
添加必要的软件:
# cd /usr/src # apt-get --force-yes -y install build-essential devscripts docbook-xsl xsltproc docbook-xml libpcre3-dev libldap2-dev libpam0g-dev libident-dev libdb4.6-dev libxmu-dev libxt-dev libxext-dev libx11-dev libxaw7-dev libpq-dev libmysqlclient15-dev libsqlite3-dev libperl-dev libgnutls-dev libsasl2-dev # apt-get source exim4 # cd exim4-4.69/ # fakeroot debian/rules unpack-configs
然后复制配置文件
# cp EDITME.exim4-heavy EDITME.exim4-custom # echo "EXPERIMENTAL_DKIM=yes" >> EDITME.exim4-custom # echo "LDFLAGS += -ldkim" >> EDITME.exim4-custom # fakeroot debian/rules pack-configs
修改:vi debian/rules
找到:
extradaemonpackages
修改为:
extradaemonpackages=exim4-daemon-heavy exim4-daemon-custom
为了让exim找到libdkim,还需要:
# echo "80_libdkim_patch" >> debian/patches/00list # cd debian/patches # wget 'http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=99_libdkim_1.0.19.dpatch;att=1;bug=486437' -O - | # cat >> 80_libdkim_patch.dpatch
完成以上步骤,并无提示出错i后就可以编译了
# debuild -uc -us
之后就可以得到安装包了:
# ls ../*.deb | grep exim4 ../exim4_4.69-7_all.deb ../exim4-base_4.69-7_amd64.deb ../exim4-config_4.69-7_all.deb ../exim4-daemon-custom_4.69-7_amd64.deb ../exim4-daemon-custom-dbg_4.69-7_amd64.deb ../exim4-daemon-heavy_4.69-7_amd64.deb ../exim4-daemon-heavy-dbg_4.69-7_amd64.deb ../exim4-daemon-light_4.69-7_amd64.deb ../exim4-daemon-light-dbg_4.69-7_amd64.deb ../exim4-dbg_4.69-7_amd64.deb ../exim4-dev_4.69-7_amd64.deb ../eximon4_4.69-7_amd64.deb
安装包的顺序
dpkg -i exim4-config*.deb dpkg -i exim4-base*.deb dpkg -i exim4-daemon-light*.deb dpkg -i daemon-custom*.deb
最后,修改配置文件/etc/exim4/exim4.conf.template在remote_smtp 处
添加:
dkim_selector = dkim dkim_domain = ${lc:${domain:$h_from:}} dkim_private_key = /root/dkim.private.key dkim_strict = 0 dkim_canon = relaxed
评论暂时关闭