Sendmail是目前Linux系统下面用得最广的邮件系统之一,虽然它存在一些不足,不过,目前还是有不少公司在使用它。对它的学习,也能让我们更深的了解邮件系统的运作。下面我们就来看看sendmail邮件服务器的部署。
本文将从以下几个方面讲解Sendmail邮件系统:
1.Sendmail安装;
2.Sendmail基本配置;
3.Openwebmail安装和配置;
4.配置Mailscanner+clamav过滤病毒;
5.配置SpamAssassin+mimedefang过滤垃圾邮件。
本文系统运行环境:CentOS 5。
 
一、安装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的安装
先检查一下,系统默认安装了哪些软件包,如下图:
 
安装cyrus-sasl-md5-2.1.22-4.i386.rpm,如下图:
2)安装sendmail、dovecot等相关程序包,如下图:
 
 
Sendmail要正常工作,是需要DNS支持的,一般企业都有DNS服务器,如果没有,可以参考我的另一篇文章:Linux服务器部署系列之三—DNS篇(http://guoxuemin.blog.51cto.com/379574/169718),自己搭建一台DNS服务器。
 
二、基本配置
1. 修改local-host-names文件
# vi  /etc/mail/local-host-names
 
2. 修改sendmail主配置文件,修改部分如下面图红色框内内容:
# vi  /etc/mail/sendmail.mc
 
使用m4命令生成sendmail.cf文件,如下图:
 
修改配置文件,限制用户邮件的大小,如下图:
# vi  /etc/mail/sendmail.cf
 
3. 添加用户,可以用命令的方式添加,如下图,如果安装了openldap,也可以通过图形界面添加(有关openldap的安装配置,可以参考我的另一篇文章:Linux服务器部署系列之七—Openldap篇)
 
4. 修改dovecot配置文件
dovecot安装好后,默认就可以使用pop3和IMAP了。接下来我们再来配置下dovecot,以便启动pop3s和IMAPS的支持。
1)生成私钥和证书,如下图:
 
2)修改配置文件,如下图:
# vi  /etc/dovecot.conf
 
5. 测试
1)启动sendmail和dovecot服务:
 
2)使用Outlook配置两个用户邮箱,如下图:
 
3)发送测试邮件,如下图:可以正常收发。OK,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.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
 
3. 配置
1)修改主配置文件,如下图:
# vi  /usr/local/apache/cgi-bin/openwebmail/etc/openwebmail.conf
 
2)修改数据设置文件,如下图:
# vi  /usr/local/apache/cgi-bin/openwebmail/etc/defaults/dbm.conf
 
3)修改认证设置文件,如下图:
# vi  /usr/local/apache/cgi-bin/openwebmail/etc/defaults/auth_unix.conf
 
4)修改apache配置文件,添加一行别名,如下图:
# vi  /usr/local/apache/conf/httpd.conf
 
4. 测试
打开浏览器,输入:http://服务器IP地址/mail,就可以访问webmail了,如下图:
 
首次启用,会提示设定个人模板,如下图:
 
对个人模板进行设置,完成后点保存,如下图:
 
OK,webmail的界面出来了,可以通过它方便的收发邮件和管理,如下图:
 
我们来发一封邮件测试一下,如下图:
 
使用outlook接收,正常。OK,至此,openwebmail安装配置完成。
 
 
四、防病毒
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
 
 
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文件存放路径,如下图:
 
3)修改配置文件clamd.conf,修改部分见下列图红框标示部分内容。
# vi  /usr/local/clamav/etc/clamd.conf
 
4)修改配置文件freshclam.conf,修改部分见下列图红框标示部分内容。
# vi  /usr/local/clamav/etc/freshclam.conf
 
5)创建freshclam.log文件,并设定权限。如下图:注意:如果不创建该文件,在启动时会报错。
 
4. 配置启动项
1)启动clamav,如下图:
 
修改系统启动项,以便在系统启动时自动启动clamav,如下图:
# vi  /etc/rc.d/rc.local
 
2)更新clamav病毒库
使用命令:/usr/local/clamav/bin/clamdscan -V查看当前系统的clamav版本,如下图:
 
使用命令:/usr/local/clamav/bin/freshclam更新病毒库,如下图:
 
再次使用命令:/usr/local/clamav/bin/clamdscan -V查看当前系统的clamav版本,如下图:病毒库已经更新了。
 
3)配置MailScanner管理邮件系统启动
我们必须停用sendmail,启动MailScanner,让MailScanner来接管邮件服务器的启动,这样才能正常检查病毒。如下图:
 
哦,有错误了。检查下:
 
MailTools的版本为2.04,版本太高。我们来装个低版本的试一下。
# tar  zxvf  MailTools-1.77.tar.gz
# cd  MailTools-1.77
# perl  Makefile.PL
# make
# make  install
我们再来检查一下MailTools的版本,如下图:
 
我们再试试启动MailScanner,OK了,一切正常。
 
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. 安装、配置
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
 
mimedefang可以正常启动,不过还需要对sendmail.cf文件进行配置才能让它正常工作。
4)配置sendmail.cf文件
# vi  /etc/mail/sendmail.cf
修改# Input mail filters下面行,如下图:
 
在#### MAIL FILTER DEFINITIONS下面添加一行,如下图:
 
垃圾邮件过滤网关会在每一封邮件头中加上X-Scanned-By: MIMEDefang 2.67,通过查看邮件头可以检查系统配置是否成功,如下图:
 
 
    OK,至此,整套Sendmail邮件系统部署完成。限于篇幅,本篇只讲述了sendmail服务器的部署,对于Sendmail的应用会在后续的文档中讲解。

本文出自 “Tonyguo De博客【知识..” 博客,请务必保留此出处http://tonyguo.blog.51cto.com/379574/186474

Linux服务器部署系列之八—Sendmail篇的更多相关文章

  1. Linux服务器部署系列之七—OpenLDAP篇

    LDAP(轻量级目录访问服务),通过配置这个服务,我们也可以在linux下面使用目录的形式管理用户,就像windows下面的AD一样,方便我们管理.下面我们就一起来配置openldap服务.本文运行环 ...

  2. Linux服务器部署系列之一—Apache篇(下)

    接上篇 linux服务器部署系列之一—Apache篇(上)    四.管理日志文件 Apache日志分为访问日志和错误日志两种: 1)访问日志 用于记录客户端的访问信息,文件名默认为access_lo ...

  3. 转 整理 Linux服务器部署系列之一—Apache篇

    花了差不多一天,参考了几个博客,终于初步配成功了 Apache,先总结一下: 如果apache安装成为linux的服务的话,可以用以下命令操作: service httpd start 启动 serv ...

  4. Linux服务器部署系列之五—Webmin篇

    对于很多习惯使用windows的用户,在刚接触Linux的时候,要使用命令行配置Linux服务器可能会感觉难以适应.今天我们来讲解一下,Linux下的图形配置工具—Webmin,通过这款工具,用户可以 ...

  5. Linux服务器部署系列之一—Apache篇(上)

    Linux系统的应用越来越广泛了,学习linux系统的网管兄弟也有增加的趋势.很久以前就有些想法,要将自己学的linux知识整理一下.最近,终于下定决心,挤出时间开始动手写些东西了.虽然不一定好,不过 ...

  6. Linux服务器部署系列之四—DHCP篇

    DHCP服务器的配置是Linux服务器配置中最简单的服务之一,网上也有很多相关文档,不过大部分都只是讲解了配置.虽然我这篇文档也不一定很完善,不过我还是希望能够尽量说得明白一些,同时也希望大家能够提供 ...

  7. Linux服务器部署系列之三—DNS篇

    网上介绍DNS的知识很多,在这里我就不再讲述DNS原理及做名词解释了.本篇我们将以一个实例为例来讲述DNS的配置,实验环境如下: 域名:guoxuemin.cn, 子域:shenzhen.guoxue ...

  8. 转 整理 Linux服务器部署系列之一—Apache篇2

    http://www.jb51.net/article/46148.htm 如何查看Apache的连接数和当前连接数 查看了连接数和当前的连接数 netstat -ant | grep $ip:80 ...

  9. Linux服务器部署系列之二—MySQL篇

    MySQL是linux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL.关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章. 今天我们要谈的是MySQL服务器的部署 ...

随机推荐

  1. UI5-文档-4.31-Routing and Navigation

    到目前为止,我们已经把所有的应用程序内容放在一个页面上.随着我们添加越来越多的特性,我们希望将内容拆分并将其放在不同的页面上. 在这一步中,我们将使用SAPUI5导航特性加载并显示一个单独的详细信息页 ...

  2. 移动cup

    intel处理器M和U H结尾的有什么具体区别 笔记本CPU 酷睿i 系列U M H详解: U 低压版(低电压-性能消减)最低主频:1.7-1.9GHZ M 准电压(笔记本上的电压标准)最低主频:2. ...

  3. 管道限流利器pv

    pv 是什么 可不是 page view,是pipe viewer,管道偷窥器的缩写.这个东西的源站点在google code上,需要的话可以访问pv 的官网 . 这个东西的官方手册页(man pv或 ...

  4. NUMA体系结构介绍

    为什么会有NUMA? 在NUMA架构出现前,CPU欢快的朝着频率越来越高的方向发展.受到物理极限的挑战,又转为核数越来越多的方向发展.如果每个core的工作性质都是share-nothing(类似于m ...

  5. nginx-----惹不起的端口修改

    1,查看端口是否被占用 打开CMD,输入输入netstat -aon | findstr :80 出现: TCP    0.0.0.0:80             0.0.0.0:0        ...

  6. C#四舍五入说明

    string.Format("{0:N2}", d) 与 Math.Round(d, 2).ToString() 不总是相等 string.Format("{0:N2}& ...

  7. RN项目中关于父子组件的通信

    子组件向父组件传递数据 子控件中在相应的函数中.通过props.coallback的回调通知父组件. 父组件调用callback属性时行 绑定,并在方法中去解析使用获取到的值 . //子控件: < ...

  8. html节点操作与事件

    <div id='a' style="width: 500px;height: 500px;background-color: grey;"> </div> ...

  9. 安装完CentOS可以不做的事

    添加用户到sudo. 打开/etc/sudoers 找到root ALL=(ALL) ALL这一行,在后面再加上一行就可以了(不用引号): username ALL=(ALL) ALL 注意,都用ta ...

  10. C/C++堆、栈及静态数据区详解

    转自:https://www.cnblogs.com/hanyonglu/archive/2011/04/12/2014212.html  做略微修改 C/C++堆.栈及静态数据区详解   本文介绍C ...