编译courier-authlib:
./configure --prefix=/usr/local/courier-authlib --without-stdheaderdir --with-authdaemonvar=/var/spool/authdaemon --with-authmysql --with-authmysqlrc=/usr/local/courier-authlib/etc/authmysqlrc --with-mailuser=vuser --with-mailgroup=vgroup --with-authdaemonrc=/usr/local/courier-authlib/etc/authdaemonrc --with-redhat
make && make install
编译courier-imap:
./configure --prefix=/usr/local/courier-imap --enable-unicode --disable-root-check --with-trashquota --without-ipv6 CPPFLAGS='-I/usr/local/courier-authlib/include' COURIERAUTHCONFIG='/usr/local/courier-authlib/bin/courierauthconfig'
把maildrop 与 courier-authlib 关联:
ln -s /usr/local/courier-authlib/bin/courierauthconfig /usr/bin/courierauthconfig
make && make install
编译安装maildrop:
./configure --prefix=/usr/local/cyrus-sasl --disable-sample --disable-saslauthd --disable-pwcheck --disable-cram --disable-digest --disable-krb4 --disable-gssapi --disable-anon --enable-plain --enable-login --enable-sql --disable-ntlm --disable-otp --disable-srp --disable-srp-setpass --with-authdaemond=/var/spool/authdaemon/socket
make && make install
ln -s /usr/local/cyrus-sasl/lib/sasl2 /usr/lib/sasl2
其它的一些相关设置:
#添加以下两行到"/etc/ld.so.conf",并执行ldconfig命令.
/usr/local/cyrus-sasl/lib/sasl2
/usr/local/cyrus-sasl/lib
#关闭或删除下列文件,也避免与新版2.1.22中的文件混淆。
mv /usr/lib/libsasl2.a /usr/lib/libsasl2.a.OFF
mv /usr/lib/libsasl2.la /usr/lib/libsasl2.la.OFF
mv /usr/lib/libsasl2.so.2.0.19 /usr/lib/libsasl2.so.2.0.19.OFF
mv /usr/lib/sasl2 /usr/lib/sasl2.OFF
rm /usr/lib/libsasl2.so
rm /usr/lib/libsasl2.so.2
root@net-server:/# ln -sv /usr/local/cyrus-sasl/lib/* /usr/lib
#postfix 2.3以后的版本(本文是安装postfix-2.4.6)会分别在/usr/local/lib和/usr/local/include中搜索sasl库文件及头文件,故还须将其链接至此目录中:
ln -sv /usr/local/cyrus-sasl/lib/* /usr/local/lib
ln -sv /usr/local/cyrus-sasl/include/sasl/* /usr/local/include
#创建运行时需要的目录并调试启动
mkdir -pv /var/state/saslauthd
/usr/local/cyrus-sasl/sbin/saslauthd -a shadow pam -d
#启动并测试
/usr/local/cyrus-sasl/sbin/saslauthd -a shadow pam
/usr/local/cyrus-sasl/sbin/testsaslauthd -u root -p root用户密码
# 设置开机自动启动
echo "/usr/local/cyrus-sasl/sbin/saslauthd -a shadow pam" >>/etc/rc.d/rc.local
#我的系统中没有此文件,locate与找不出来,我是自己建立该文件。
vim /usr/local/cyrus-sasl/lib/sasl2/smtpd.conf
pwcheck_method: saslauthd
log_level: 3
mech_list: PLAIN LOGIN
authdaemond_path:/var/spool/authdaemon/socket
perl -e 'use MIME::Base64; print encode_base64("postmaster\@extmail.org")'
perl -e 'use MIME::Base64; print encode_base64("extmail")'