mysql Firefox shell 微软 centos Python 开源 Android php linux命令 nginx wordpress Ubuntu google linux Windows 程序员 apache java HTML5

对 debian 下的 exim4 添加 DKIM 支持

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

延伸阅读

  • 抱歉,暂无相关内容!

评论