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.
软件安装
1
)
cyrus-sasl
的安装
先检查一下,系统默认安装了哪些软件包,如下图:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
![](https://i-blog.csdnimg.cn/blog_migrate/25145f4171fd86de81b6d1b8efb75bd7.jpeg)
安装
cyrus-sasl-md5-2.1.22-4.i386.rpm
,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/7bbf3f8ce9b313d22400956154f6300f.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/93cd0a011cbdc042ff0366f76ecc45f1.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/60329dfef4d31296f5623c373b6efa20.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/426bea8afded05cb616d08bb18658c93.jpeg)
Sendmail
要正常工作,是需要
DNS
支持的,一般企业都有
DNS
服务器,如果没有,可以参考我的另一篇文章:
Linux
服务器部署系列之三
—DNS
篇(
http://guoxuemin.blog.51cto.com/379574/169718
),自己搭建一台
DNS
服务器。
二、基本配置
1.
修改
local-host-names
文件
# vi /etc/mail/local-host-names
![](https://i-blog.csdnimg.cn/blog_migrate/ea07f0a2feead1b2b5af8fdc052d3cdc.jpeg)
2.
修改
sendmail
主配置文件,修改部分如下面图红色框内内容:
# vi /etc/mail/sendmail.mc
![](https://i-blog.csdnimg.cn/blog_migrate/d94703c1c5c9ef16f01d45cc55e68f83.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/7462fdb8918a6d38bab20057a933033f.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/4279b928afe4cc661af089db88fc7eec.jpeg)
使用
m4
命令生成
sendmail.cf
文件,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/54d959609cbc39ee99f251a2f3c0b648.jpeg)
修改配置文件,限制用户邮件的大小,如下图:
# vi /etc/mail/sendmail.cf
![](https://i-blog.csdnimg.cn/blog_migrate/c4fb3ea6752a116e2f70048876bb4f3e.jpeg)
3.
添加用户,可以用命令的方式添加,如下图,如果安装了
openldap
,也可以通过图形界面添加(有关
openldap
的安装配置,可以参考我的另一篇文章:Linux服务器部署系列之七—Openldap篇)
![](https://i-blog.csdnimg.cn/blog_migrate/f177c924b9a30b61010b0e0e7e4896df.jpeg)
4.
修改
dovecot
配置文件
dovecot
安装好后,默认就可以使用
pop3
和
IMAP
了。接下来我们再来配置下
dovecot
,以便启动
pop3s
和
IMAPS
的支持。
1
)生成私钥和证书,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/e6060e087cadabc905a1c02246389363.jpeg)
2
)修改配置文件,如下图:
# vi /etc/dovecot.conf
![](https://i-blog.csdnimg.cn/blog_migrate/653f3370b67e7d1786412d062fd13078.jpeg)
5.
测试
1
)启动
sendmail
和
dovecot
服务:
![](https://i-blog.csdnimg.cn/blog_migrate/b5ea0088b759379d84370ac7ee3523b8.jpeg)
2
)使用
Outlook
配置两个用户邮箱,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/8fca5e2062fdad2fd8cb08b218082528.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/9192dd2b9f3d8fbd724eca5f0d8ae0a1.jpeg)
3
)发送测试邮件,如下图:可以正常收发。
OK
,
sendmail
服务器安装至此完成。
![](https://i-blog.csdnimg.cn/blog_migrate/bd1e11248ec3a9da528cb620796f3c3c.jpeg)
三、
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.pm
,
MIME-Base64
,
Digest
,
Digest-MD5
,
libnet
,
Text-Iconv
,按以下步骤安装:
# tar zxvf
软件包
.tar.gz
# cd
软件包名
# perl Makefile.PL
# make
# make install
这里有一个特殊的情况,就是在安装
Digets-MD5
之前必须先声明一个环境变量,方法如下:
# export LC_ALL=C
另外,还需要安装
perl-suidperl
支持工具,如下图:
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
![](https://i-blog.csdnimg.cn/blog_migrate/ec359a3cfccea34ffebd8542eb3d718d.jpeg)
3.
配置
1
)修改主配置文件,如下图:
# vi /usr/local/apache/cgi-bin/openwebmail/etc/openwebmail.conf
![](https://i-blog.csdnimg.cn/blog_migrate/4cb6d5181a8c5973ef11cd83e4f971c6.jpeg)
2
)修改数据设置文件,如下图:
# vi /usr/local/apache/cgi-bin/openwebmail/etc/defaults/dbm.conf
![](https://i-blog.csdnimg.cn/blog_migrate/dfd8613d0e08aff1747759bd26518691.jpeg)
3
)修改认证设置文件,如下图:
# vi /usr/local/apache/cgi-bin/openwebmail/etc/defaults/auth_unix.conf
![](https://i-blog.csdnimg.cn/blog_migrate/36eb10963aca0f56412a336e03c5b485.jpeg)
4
)修改
apache
配置文件,添加一行别名,如下图:
# vi /usr/local/apache/conf/httpd.conf
![](https://i-blog.csdnimg.cn/blog_migrate/bb55141f523a9cebf93f545f31717cd4.jpeg)
4.
测试
打开浏览器,输入:
http://
服务器
IP
地址
/mail
,就可以访问
webmail
了,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/f9566cb488b265b94a55dc1599a2a63d.jpeg)
首次启用,会提示设定个人模板,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/f7a115c9855dc00bf4922728d9a32664.jpeg)
对个人模板进行设置,完成后点保存,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/5daa5664a66a8cf3c9a475fc2b341abc.jpeg)
OK
,
webmail
的界面出来了,可以通过它方便的收发邮件和管理,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/393a58dbe61fe0fa7776bb79764c09e9.jpeg)
我们来发一封邮件测试一下,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/138fa73e4f015830887bb9ab407e2409.jpeg)
使用
outlook
接收,正常。
OK
,至此,
openwebmail
安装配置完成。
![](https://i-blog.csdnimg.cn/blog_migrate/e2e8623a9f25a814df44cb67da89ba1d.jpeg)
四、防病毒
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
![](https://i-blog.csdnimg.cn/blog_migrate/fe5996518b6e2c6703c063d1adb7e480.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/83800a44d401ea8fe5a51a000b7ecc23.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/43471fd12bc0b91490bb7a3cfffbce5a.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/b8fe18cdde0ecce497fbeda2d4fa3b18.jpeg)
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
)建立
clamav
的
socket
文件存放路径,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/83d2ee27c5f69b4aedd512169c59ca73.jpeg)
3
)修改配置文件
clamd.conf
,修改部分见下列图红框标示部分内容。
# vi /usr/local/clamav/etc/clamd.conf
![](https://i-blog.csdnimg.cn/blog_migrate/21ad25277d6d7444c877e70baf9f353e.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/abc4e72128455c4a98f0a7363a8d7bc0.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/524ee4c0a514047db4a7128a74dd3ffa.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/f7d45ddad479815b6201a0c4e11c5d62.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/b3e7292a67a179898b89a5f832fa8dde.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/c1079ed57741b365d1e2dfce92366277.jpeg)
4
)修改配置文件
freshclam.conf
,修改部分见下列图红框标示部分内容。
# vi /usr/local/clamav/etc/freshclam.conf
![](https://i-blog.csdnimg.cn/blog_migrate/3debd14866a914812bf2a2c6284a7bc5.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/c28e8a8981b5a5b3da3d1f06fbb6e3d4.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/27e16ad8f9efa24f570366da54953f4c.jpeg)
![](https://i-blog.csdnimg.cn/blog_migrate/e798a14092017d49d8e9d88dabdbde56.jpeg)
5
)创建
freshclam.log
文件,并设定权限。如下图:注意:如果不创建该文件,在启动时会报错。
![](https://i-blog.csdnimg.cn/blog_migrate/41bff4e2d06804f95a1194066b26a0fd.jpeg)
4.
配置启动项
1
)启动
clamav
,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/524920c2737ca38aa5e49202c5b2d0d4.jpeg)
修改系统启动项,以便在系统启动时自动启动
clamav
,如下图:
# vi /etc/rc.d/rc.local
![](https://i-blog.csdnimg.cn/blog_migrate/71769dec7c7b2ee56eeb5a1430c025cc.jpeg)
2
)更新
clamav
病毒库
使用命令:
/usr/local/clamav/bin/clamdscan -V
查看当前系统的
clamav
版本,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/774babbf88a27753fbb5e91c01ef32fd.jpeg)
使用命令:
/usr/local/clamav/bin/freshclam
更新病毒库,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/9414a69677ae3f2ac25e763eee272c7f.jpeg)
再次使用命令:
/usr/local/clamav/bin/clamdscan -V
查看当前系统的
clamav
版本,如下图:病毒库已经更新了。
![](https://i-blog.csdnimg.cn/blog_migrate/9ab63276e93a120bcb76847650be6007.jpeg)
3
)配置
MailScanner
管理邮件系统启动
我们必须停用
sendmail
,启动
MailScanner
,让
MailScanner
来接管邮件服务器的启动,这样才能正常检查病毒。如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/844ea6c6fa8ee207991ba54deb492583.jpeg)
哦,有错误了。检查下:
![](https://i-blog.csdnimg.cn/blog_migrate/9b169e81b2fe1480138e7d6e525db3cf.jpeg)
MailTools
的版本为
2.04
,版本太高。我们来装个低版本的试一下。
# tar zxvf MailTools-1.77.tar.gz
# cd MailTools-1.77
# perl Makefile.PL
# make
# make install
我们再来检查一下
MailTools
的版本,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/211df0597693f7c976a676d0a00a25a2.jpeg)
我们再试试启动
MailScanner
,
OK
了,一切正常。
![](https://i-blog.csdnimg.cn/blog_migrate/beaf3d905c50f22f88506a378396d272.jpeg)
Sendmail
查毒模块的安装至此完成,不过,
clamav
只是一个查毒程序,不能杀毒,如果它检查到邮件含有病毒会直接将它丢弃。
五、反垃圾邮件
1.
软件需求
Mail-SpamAssassin-3.1.9.tar.gz
mimedefang-2.67.tar.gz
另外,
mimedefang
安装需要以下软件包的支持:
Digest-SHA1-2.12.tar.gz
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.
安装、配置
1
)
SpamAssassin
安装
# 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-SHA1,IO-String,MIME-tools,Net-DNS,按以下步骤安装:
# tar zxvf
软件包.tar.gz
# cd
软件包名
# perl Makefile.PL
# make
# make install
这里由于MailTools和MIME-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
![](https://i-blog.csdnimg.cn/blog_migrate/fb07af41d68353e70c8ec2fb5c0d4d41.jpeg)
mimedefang
可以正常启动,不过还需要对sendmail.cf文件进行配置才能让它正常工作。
4
)配置sendmail.cf文件
# vi /etc/mail/sendmail.cf
修改# Input mail filters下面行,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/15a8ab5566bc50363f0aa335787c2468.jpeg)
在#### MAIL FILTER DEFINITIONS下面添加一行,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/4f770baf0152f35d4134c044da77a6e7.jpeg)
垃圾邮件过滤网关会在每一封邮件头中加上X-Scanned-By: MIMEDefang 2.67,通过查看邮件头可以检查系统配置是否成功,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/95f59c1f82282f76fdcd004a2abd1213.jpeg)
OK
,至此,整套Sendmail邮件系统部署完成。限于篇幅,本篇只讲述了sendmail服务器的部署,对于Sendmail的应用会在后续的文档中讲解。
转载于:https://blog.51cto.com/tonyguo/186474