Sendmail是目前Linux系统下面用得最广的邮件系统之一,虽然它存在一些不足,不过,目前还是有不少公司在使用它。对它的学习,也能让我们更深的了解邮件系统的运作。下面我们就来看看sendmail邮件服务器的部署。
本文将从以下几个方面讲解Sendmail邮件系统:
1.Sendmail安装;
2.Sendmail基本配置;
3.Openwebmail安装和配置;
4.配置Mailscanner+clamav过滤病毒;
5.配置SpamAssassin+mimedefang过滤垃圾邮件。
本文系统运行环境:CentOS 5<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

一、安装Sendmail

1. 软件需求(以下软件在安装光盘上都可以找到)

cyrus-sasl-2.1.22-4.i386.rpm

cyrus-sasl-lib-2.1.22-4.i386.rpm

cyrus-sasl-plain-2.1.22-4.i386.rpm

cyrus-sasl-devel-2.1.22-4.i386.rpm

cyrus-sasl-md5-2.1.22-4.i386.rpm

sendmail-8.13.8-2.el5.i386.rpm

sendmail-cf-8.13.8-2.el5.i386.rpm

sendmail-devel-8.13.8-2.el5.i386.rpm

sendmail-doc-8.13.8-2.el5.i386.rpm

m4-1.4.5-3.el5.1.i386.rpm

dovecot-1.0.7-2.el5.i386.rpm

另外,dovecot需要两外两个程序包的支持:

perl-DBI-1.52-1.fc6.i386.rpm

mysql-5.0.45-7.el5.i386.rpm

2. 软件安装

1cyrus-sasl的安装

先检查一下,系统默认安装了哪些软件包,如下图:

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />Linux服务器部署系列之八—Sendmail篇

安装cyrus-sasl-md5-2.1.22-4.i386.rpm,如下图:

Linux服务器部署系列之八—Sendmail篇2)安装sendmaildovecot等相关程序包,如下图:

Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇

Linux服务器部署系列之八—Sendmail篇

Sendmail要正常工作,是需要DNS支持的,一般企业都有DNS服务器,如果没有,可以参考我的另一篇文章:Linux服务器部署系列之三—DNS篇(http://guoxuemin.blog.51cto.com/379574/169718),自己搭建一台DNS服务器。

 

二、基本配置

1. 修改local-host-names文件

# vi  /etc/mail/local-host-names

Linux服务器部署系列之八—Sendmail篇

2. 修改sendmail主配置文件,修改部分如下面图红色框内内容:

# vi  /etc/mail/sendmail.mc

Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇

使用m4命令生成sendmail.cf文件,如下图:

Linux服务器部署系列之八—Sendmail篇

修改配置文件,限制用户邮件的大小,如下图:

# vi  /etc/mail/sendmail.cf

Linux服务器部署系列之八—Sendmail篇

3. 添加用户,可以用命令的方式添加,如下图,如果安装了openldap,也可以通过图形界面添加(有关openldap的安装配置,可以参考我的另一篇文章:Linux服务器部署系列之七—Openldap篇)

Linux服务器部署系列之八—Sendmail篇

4. 修改dovecot配置文件

dovecot安装好后,默认就可以使用pop3IMAP了。接下来我们再来配置下dovecot,以便启动pop3sIMAPS的支持。

1)生成私钥和证书,如下图:

Linux服务器部署系列之八—Sendmail篇

2)修改配置文件,如下图:

# vi  /etc/dovecot.conf

Linux服务器部署系列之八—Sendmail篇

5. 测试

1)启动sendmaildovecot服务:

Linux服务器部署系列之八—Sendmail篇

2)使用Outlook配置两个用户邮箱,如下图:

Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇

3)发送测试邮件,如下图:可以正常收发。OKsendmail服务器安装至此完成。

Linux服务器部署系列之八—Sendmail篇

 

三、Openwebmail

1. 软件需求(工具软件都可以从下载)

CGI.pm-3.05.tar.gz

MIME-Base64-3.01.tar.gz

Digest-1.08.tar.gz

Digest-MD5-2.33.tar.gz

Test-Iconv-1.2.tar.gz

libnet-1.19.tar.gz

perl-suidperl-5.8.8-10.el5_0.2.i386.rpm

另外,openwebmail需要Apache支持,有关Apache的配置,可以参加我的另外一篇文章:Linux服务器部署系列之一—Apache篇(http://guoxuemin.blog.51cto.com/379574/168534

2. 安装

1)支持工具的安装:

安装CGI.pmMIME-Base64DigestDigest-MD5libnetText-Iconv,按以下步骤安装:

# tar  zxvf  软件包.tar.gz

# cd  软件包名

# perl  Makefile.PL

# make

# make  install

这里有一个特殊的情况,就是在安装Digets-MD5之前必须先声明一个环境变量,方法如下:

# export  LC_ALL=C

另外,还需要安装perl-suidperl支持工具,如下图:

Linux服务器部署系列之八—Sendmail篇

2)安装openwebmail
# tar  zxvf  openwebmail-2.53.tar.gz

解压后不需要编译,只要将相关文件copy到相关目录就可以了,如下图:

# mv  data/openwebmail  /usr/local/apache/htdocs

# mv  cgi-bin/openwebmail  /usr/local/apache/cgi-bin

Linux服务器部署系列之八—Sendmail篇

3. 配置

1)修改主配置文件,如下图:

# vi  /usr/local/apache/cgi-bin/openwebmail/etc/openwebmail.conf

Linux服务器部署系列之八—Sendmail篇

2)修改数据设置文件,如下图:

# vi  /usr/local/apache/cgi-bin/openwebmail/etc/defaults/dbm.conf

Linux服务器部署系列之八—Sendmail篇

3)修改认证设置文件,如下图:

# vi  /usr/local/apache/cgi-bin/openwebmail/etc/defaults/auth_unix.conf

Linux服务器部署系列之八—Sendmail篇

4)修改apache配置文件,添加一行别名,如下图:

# vi  /usr/local/apache/conf/httpd.conf

Linux服务器部署系列之八—Sendmail篇

4. 测试

打开浏览器,输入:http://服务器IP地址/mail,就可以访问webmail了,如下图:

Linux服务器部署系列之八—Sendmail篇

首次启用,会提示设定个人模板,如下图:

Linux服务器部署系列之八—Sendmail篇

对个人模板进行设置,完成后点保存,如下图:

Linux服务器部署系列之八—Sendmail篇

OKwebmail的界面出来了,可以通过它方便的收发邮件和管理,如下图:

Linux服务器部署系列之八—Sendmail篇

我们来发一封邮件测试一下,如下图:

Linux服务器部署系列之八—Sendmail篇

使用outlook接收,正常。OK,至此,openwebmail安装配置完成。

Linux服务器部署系列之八—Sendmail篇

 

四、防病毒

1. 软件需求

MailScanner-4.55.10-3.rpm.tar.gz

clamav-0.95.tar.gz

2. 安装、配置MailScanner

1)安装

# tar  zxvf  MailScanner-4.55.10-3.rpm.tar.gz

# cd  MailScanner-4.55.10-3

# ./install.sh

2)配置MailScanner,修改内容如下图红框内内容。

# vi  /etc/MailScanner/MailScanner.conf

Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇

Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇

3. 安装、配置Clamav

1)安装

首先,为clamav建立自己的执行帐户:

# vi  /usr/sbin/useradd  -s  /bin/false  -d  /var/run/clamav  clamav

然后,安装clamav

# tar  zxvf  clamav-0.95.tar.gz

# cd  clamav-0.95

# ./configure  --prefix=/usr/local/clamav

# make

# make  install

2)建立clamavsocket文件存放路径,如下图:

Linux服务器部署系列之八—Sendmail篇

3)修改配置文件clamd.conf,修改部分见下列图红框标示部分内容。

# vi  /usr/local/clamav/etc/clamd.conf

Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇

4)修改配置文件freshclam.conf,修改部分见下列图红框标示部分内容。

# vi  /usr/local/clamav/etc/freshclam.conf

Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇Linux服务器部署系列之八—Sendmail篇

5)创建freshclam.log文件,并设定权限。如下图:注意:如果不创建该文件,在启动时会报错。

Linux服务器部署系列之八—Sendmail篇

4. 配置启动项

1)启动clamav,如下图:

Linux服务器部署系列之八—Sendmail篇

修改系统启动项,以便在系统启动时自动启动clamav,如下图:

# vi  /etc/rc.d/rc.local

Linux服务器部署系列之八—Sendmail篇

2)更新clamav病毒库

使用命令:/usr/local/clamav/bin/clamdscan -V查看当前系统的clamav版本,如下图:

Linux服务器部署系列之八—Sendmail篇

使用命令:/usr/local/clamav/bin/freshclam更新病毒库,如下图:

Linux服务器部署系列之八—Sendmail篇

再次使用命令:/usr/local/clamav/bin/clamdscan -V查看当前系统的clamav版本,如下图:病毒库已经更新了。

Linux服务器部署系列之八—Sendmail篇

3)配置MailScanner管理邮件系统启动

我们必须停用sendmail,启动MailScanner,让MailScanner来接管邮件服务器的启动,这样才能正常检查病毒。如下图:

Linux服务器部署系列之八—Sendmail篇

哦,有错误了。检查下:

Linux服务器部署系列之八—Sendmail篇

MailTools的版本为2.04,版本太高。我们来装个低版本的试一下。

# tar  zxvf  MailTools-1.77.tar.gz

# cd  MailTools-1.77

# perl  Makefile.PL

# make

# make  install

我们再来检查一下MailTools的版本,如下图:

Linux服务器部署系列之八—Sendmail篇

我们再试试启动MailScannerOK了,一切正常。

Linux服务器部署系列之八—Sendmail篇

Sendmail查毒模块的安装至此完成,不过,clamav只是一个查毒程序,不能杀毒,如果它检查到邮件含有病毒会直接将它丢弃。

 

五、反垃圾邮件

1. 软件需求

Mail-SpamAssassin-3.1.9.tar.gz
mimedefang-2.67.tar.gz
另外,mimedefang安装需要以下软件包的支持:
Digest-SHA1-2.12.tar.gz

IO-String-1.08.tar.gz

MailTools-1.77.tar.gz

MIME-Base64-3.03.tar.gz

MIME-tools-5.420.tar.gz

Net-DNS-0.65.tar.gz

2. 安装、配置

1SpamAssassin安装

# tar  zxvf  Mail-SpamAssassin-3.1.9.tar.gz

# cd  Mail-SpamAssassin-3.1.9

# perl  Makefile.PL

# make

# make  install

2)添加中文垃圾邮件过滤规则

将该规则存放在/etc/mail/SpamAssassin目录下。

3)安装mimedefang

安装支持工具:Digest-SHA1IO-StringMIME-toolsNet-DNS,按以下步骤安装:

# tar  zxvf  软件包.tar.gz

# cd 软件包名

# perl  Makefile.PL

# make

# make  install

这里由于MailToolsMIME-Base64前面已经安装过了,这里就不需要再重复安装。

安装mimedefang

# tar  zxvf  mimedefang-2.67.tar.gz

# cd  mimedefang-2.67

# ./configure

# make

# make install

# cp examples/init-script  /etc/init.d/        //将启动文件Copy/etc/init.d

# /etc/init.d/init-script  start              //启动mimedefang

Linux服务器部署系列之八—Sendmail篇

mimedefang可以正常启动,不过还需要对sendmail.cf文件进行配置才能让它正常工作。

4)配置sendmail.cf文件

# vi  /etc/mail/sendmail.cf

修改# Input mail filters下面行,如下图:

Linux服务器部署系列之八—Sendmail篇

#### MAIL FILTER DEFINITIONS下面添加一行,如下图:

Linux服务器部署系列之八—Sendmail篇

垃圾邮件过滤网关会在每一封邮件头中加上X-Scanned-By: MIMEDefang 2.67,通过查看邮件头可以检查系统配置是否成功,如下图:

Linux服务器部署系列之八—Sendmail篇

 

    OK,至此,整套Sendmail邮件系统部署完成。限于篇幅,本篇只讲述了sendmail服务器的部署,对于Sendmail的应用会在后续的文档中讲解。