服务器 频道

Linux下邮件系统完美解决方案架设攻略

安装Courier-IMAP

    用以下命令安装courier-imap的rpm包,默认的courier-authlib及courier-imap都会增加系统自启动设置,因此下一次服务器启动将自动启动相应的authlib及POP3服务
rpm -ivh RPMS/courier-imap-4.1.0-1hzq.i386.rpm
    配置courier-imap

    由于Courier-imap的IMAP目录是按UTF-7编码的,ExtMail目前还没有正式支持IMAP目录,因此需要屏蔽IMAP,只提供pop3服务。而就目前的使用情况来看,IMAP使用的非常少,绝大部分OutLook/Foxmail用户都习惯使用POP3而非IMAP。
vi /usr/lib/courier-imap/etc/imapd
    将如下这行配置:
    IMAPDSTART=YES
   替换成为:
    IMAPDSTART=NO
    vi /usr/lib/courier-imap/etc/imapd-ssl
    再将如下配置:
    IMAPDSSLSTART=YES
    替换成为:
    IMAPDSSLSTART=NO
    然后重新启动courier-imap:
    /etc/init.d/courier-imap start

    测试POP3

    请按如下步骤输入pop3命令测试其是否正常工作,注意蓝色的信息是我们输入到POP3服务器的
telnet localhost 110 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. +OK Hello there. user test@extmail.org +OK Password required. pass test +OK logged in. list +OK POP3 clients that break here, they violate STD53. . quit +OK Bye-bye. Connection closed by foreign host.
    XiaoHui 补充: 安装完上列组件之后,ExtMail 已经可以正常工作了。只是没有安装反病毒和反垃圾的组件。如果你不需要反病毒和反垃圾的功能,可以不必安装他们。根据我的测试,amavisd 需要占用相当大的内存和CPU资源。

    反病毒/内容过滤配置

    反病毒及内容过滤器是依赖Amavisd-new软件包,它是一个多功能的过滤器,能与杀毒软件及内容过滤软件(如SpamAssassin)结合,通用性较强。

    安装依赖的Perl包

    首先我们要确保系统自带的perl-Net-DNS软件包被删除干净,因为该包的版本较低(0.48),有已知的bug,所以必须替换成本文档提供的新版(0.5x),输入如下命令:
rpm -e --nodeps perl-Net-DNS
    Amavisd-new 及SpamAssassin需要依赖大量的第三方perl软件包,下列要安装的部分RPM在上述的操作中已经安装了,为了给出较明确的依赖关系,我们依然将这些包的名称列出,如果安装时提示有安装包已安装过,或者提示冲突,请不必惊慌。请安装如下的RPM软件包:
rpm -ivh RPMS/perl-Digest-SHA1-2.07-5.i386.rpm rpm -ivh RPMS/perl-Digest-HMAC-1.01-1hzq.i386.rpm rpm -ivh RPMS/perl-Net-IP-1.24-1hzq.i386.rpm rpm --nodeps -ivh RPMS/perl-Net-DNS-0.57-1hzq.i386.rpm rpm -ivh RPMS/perl-Time-HiRes-1.72-1hzq.i386.rpm rpm -ivh RPMS/perl-HTML-Tagset-3.03-30.noarch.rpm rpm -ivh RPMS/perl-HTML-Parser-3.35-6.i386.rpm rpm -ivh RPMS/spamassassin-3.0.5-3.el4.i386.rpm rpm -ivh RPMS/perl-IO-stringy-2.110-1hzq.i386.rpm rpm -ivh RPMS/perl-IO-Multiplex-1.08-1hzq.i386.rpm rpm -ivh RPMS/perl-Net_SSLeay.pm-1.30-1hzq.i386.rpm rpm -ivh RPMS/perl-IO-Socket-SSL-0.97-1hzq.i386.rpm rpm -ivh RPMS/perl-Net-Server-0.93-1hzq.i386.rpm rpm -ivh RPMS/perl-Unix-Syslog-0.100-1hzq.i386.rpm rpm -ivh RPMS/perl-TimeDate-1.16-1hzq.i386.rpm rpm -ivh RPMS/perl-MailTools-1.67-1hzq.i386.rpm rpm -ivh --force RPMS/perl-MIME-Base64-3.05-1hzq.i386.rpm rpm -ivh RPMS/perl-Convert-BinHex-1.119-1hzq.i386.rpm rpm -ivh RPMS/perl-MIME-tools-5.418-1hzq.i386.rpm rpm -ivh RPMS/perl-BerkeleyDB-0.26-1hzq.i386.rpm rpm -ivh RPMS/perl-Convert-TNEF-0.17-1hzq.i386.rpm rpm -ivh RPMS/perl-Convert-UUlib-1.051-1hzq.i386.rpm rpm -ivh RPMS/perl-Compress-Zlib-1.41-1hzq.i386.rpm rpm -ivh RPMS/perl-Archive-Zip-1.16-1hzq.i386.rpm rpm -ivh RPMS/perl-IO-Zlib-1.04-1hzq.i386.rpm rpm -ivh RPMS/perl-Archive-Tar-1.26-1hzq.i386.rpm rpm -ivh RPMS/arc-5.21o-1hzq.i386.rpm rpm -ivh RPMS/zoo-2.10-9hzq.i386.rpm rpm -ivh RPMS/unarj-2.65-49hzq.i386.rpm export LANG=C rpm -ivh RPMS/amavisd-new-2.4.0-1hzq.i386.rpm chown amavis.amavis /var/spool/vscan/db/ chkconfig --add amavisd
    修改amavisd.conf

     修改的主要参数如下,请逐一对照后修改:
$max_servers = 10; $sa_spam_subject_tag = '[SPAM] '; $mydomain = 'mail.extmail.org'; $myhostname = 'mail.extmail.org'; @local_domains_maps = qw(.); $sa_tag2_level_deflt = 5.0; $sa_kill_level_deflt = 5.0;
    注意事项:

    上述$mydomain参数与$myhostname参数相同,主要是为了方便之后的病毒/垃圾汇报邮件发给系统管理员时,能投递到本地的别名里,再转交到虚拟域的特定用户。

    增加如下参数(默认amavisd.conf没有):
$sa_spam_modifies_subj = 0; # don't modify subject $remove_existing_x_scanned_headers= 1; # remove existing headers $remove_existing_spam_headers = 1;

0
相关文章