Pages

Saturday, 21 January 2012

删除centos 的sendmail ,防别人用你的vps来发垃圾邮件 / centos 下,配置 sendmail服务器

root@server ~]# rpm -qa | grep sendmail
sendmail-cf-8.13.8-2.el5
sendmail-8.13.8-2.el5
sendmail-doc-8.13.8-2.el5
[root@server ~]# yum remove sendmail-cf-8.13.8-2.el5 sendmail-8.13.8-2.el5 sendmail-doc-8.13.8-2.el5
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package sendmail.i386 0:8.13.8-2.el5 set to be erased
--> Processing Dependency: smtpdaemon for package: fetchmail
---> Package sendmail-cf.i386 0:8.13.8-2.el5 set to be erased
---> Package sendmail-doc.i386 0:8.13.8-2.el5 set to be erased
--> Running transaction check
---> Package fetchmail.i386 0:6.3.6-1.1.el5 set to be erased
--> Finished Dependency Resolution


Dependencies Resolved


================================================================================
 Package             Arch        Version                 Repository        Size
================================================================================
Removing:
 sendmail            i386        8.13.8-2.el5            installed        1.3 M
 sendmail-cf         i386        8.13.8-2.el5            installed        924 k
 sendmail-doc        i386        8.13.8-2.el5            installed        1.7 M
Removing for dependencies:
 fetchmail           i386        6.3.6-1.1.el5           installed        1.3 M


Transaction Summary
================================================================================
Install      0 Package(s)
Update       0 Package(s)
Remove       4 Package(s)


Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing        : sendmail                                          [1/4]
  Erasing        : sendmail-doc                                      [2/4]
  Erasing        : sendmail-cf                                       [3/4]
  Erasing        : fetchmail                                         [4/4]


Removed: sendmail.i386 0:8.13.8-2.el5 sendmail-cf.i386 0:8.13.8-2.el5 sendmail-doc.i386 0:8.13.8-2.el5
Dependency Removed: fetchmail.i386 0:6.3.6-1.1.el5
Complete!
[root@server ~]#
-------------------------------------------------------------------------------------------
 centos 下,配置 sendmail服务器

人们在互联网上最常使用的就是电子邮件,很多企业用户也经常使用免费电子邮件系统。Sendmail作为一种免费的邮件服务器软件,已被广泛的应用于各种 服务器中,它在稳定性、可移植性、及确保没有bug等方面具有一定的特色。sendmail是最重要的邮件传输代理程序。理解电子邮件的工作模式是非常重 要的。一般情况下,我们把电子邮件程序分解成用户代理,传输代理和投递代理。 用户代理用来接受用户的指令,将用户的信件传送至信件传输代理,如:outlook express、foxmail等。而投递代理则从信件传输代理取得信件传送至最终用户的邮箱,如:procmail。 
现在我们来看一下sendmail邮件服务器是如何配置的。
1、检查件软包是否安装 
rpm –q sendmail 
rpm –q m4 
rpm –q sendmail.cf 
2、配置邮件服务器的DNS域名 
在前面DNS服务器的配置中,有一个专门用于邮件服务器域名格式,即IN MX。可将DNS和mail设为同一个服务器,在DNS配置文件中设置邮件服务器的域名,在本例中DNS服务器和邮件服务器IP地址均为192.168.10.1。
编辑原有的hujw.com.zone正向解析文件,添加两条记录
image 
编辑原有的hujw.com.rev反向解析文件,添加一条记录
image 
重启named服务器
service named restart
测试解析结果,可以正常解析邮件服务器域名
clip_image002
3、配置sendmail服务器配置文件
下面来看一下sendmail的配置过程,sendmail所以配置文件都保存在/etc/mail目录下。
这个目录下有几个主要文件:
sendmail.cf  sendmail的主配置文件,配置难度很大,不建议配置。在sendmail.cf文件开头做了如下说明:(不要配置这个文件,只能编辑sendmail.mc)clip_image004 
sendmail.mc
 相对简便的配置文件,修改完后需要通过m4命令生成新的sendmail.rf文件。
首先修改sendmail.mc文件的内容:
vi sendmail.mc
搜索“127.0.0.1”,将它改成0.0.0.0,否则只能在本地开启SMTP监听。0.0.0.0相当于在本机所有地址上开启监听。
clip_image002[6]
继续搜索“TRUST”,将前面的dnl和空格删掉,否则无法开启smtp认证的功能。如果没有smtp认证的话,就相当于不用账号密码就可以登录邮箱,邮箱的安全将得不到保障。
clip_image004[6]
然后修改/etc/mail下的access文件,加入允许收发邮件的网段
clip_image006
保存后,将文件进行哈希生成新的access.db文件
makemap hash access.db < access
然后修改local-host-names,加入hujw.com,使得hujw.com这个域作为邮件服务器。
clip_image008
通过m4命令生成新的sendmail.rf文件
m4 sendmail.mc > sendmail.cf
创建两个用户
useradd mailtest1 
passwd mailtest1 
useradd mailtest2 –s /sbin/nologin 
passwd mailtest2

mailtest1和mailtest2的区别就是mailtest1可以登录系统,mailtest2不能登陆系统。所以创建用户的时候可以根据这个控制用户是否能够登陆系统。
然后编辑/etc/aliases这个文件,加入以下命令,为邮件用户设置群组。其中group1只包含mailuser1,即给group1发邮件只有mailtest1可以收到;group2包含两个用户,给group2发邮件两个用户都可以收到。
clip_image002[8]
修改完成后使用newaliases生成新的aliases文件
newaliases 
这个时候smtp已经配好了,但只能发送不能接收,因为还有一半没有配置。smtp只负责发送邮件,而接收邮件靠得是什么呢?没错,那就是smtp的伴侣——POP3协议。要配置POP3服务器,首先要确认安装了devecot软件包。
rpm –q dovecot
找到dovecot的配置文件
vi /etc/dovecot.conf
clip_image004[8]
找到如图所示的那句话,将前面的#号去掉,使邮件服务器能够支持pop3协议。
开启smtp服务
service sendmail start
开启pop3服务
service dovecot start
开启smtp验证服务
service saslauthd start 
4、邮件收发测试
在windows平台下使用outlook2010收发邮件,首先创建账户
image 
点“其他设置”,在我的SMTP服务器需要验证打钩
clip_image001
测试账户设置
clip_image002
测试完成,可以正常收发邮件了!
使用另外一个windows客户端通过mailtest2这个账户向mailtest1发送邮件:
clip_image003
mailtest1成功收到邮件:
clip_image002[10]
5、openwebmail安装 
    Openwebmail是一套自由(免费)的开放源代码的perl程序,协助人们从任何地方检查自己的电子邮件信箱!Openwebmail可以让人们出 门时方便地存取自己的电子邮件,或者用来完全代替你常用的离线邮件阅读程序(Outlook Express)。Openwebmail内附的容易使用的行事历工具,也能够帮助使用管理每日活动和日历。
在安装openwebmail之前,首先确认selinux是关闭的。
vi /etc/selinux/config
clip_image004[10]
然后安装perl软件包(本文附件里面有)
最后安装openwebmail,下载地址如下
http://openwebmail.org/openwebmail/download/release/2.53/openwebmail-2.53.tar.gz
安装openwebmail软件包
tar –zxvf openwebmail-2.53.tar.gz –C /var/www
openwebmail会自动安装到/var/www/cgi-bin目录下,注意cgi-bin是专门存放动态网页的目录。安装完成后进入/var/www/cgi-bin/openwebmail/etc/defaults,编辑dbm.conf文件。
将第二行的dbmopen_ext扩展名改成.db。
clip_image006[6]
保存完成后将www文件夹复制一份到/usr/local。
cp –rf /var/www /usr/local/
进入/var/www/cgi-bin/openwebmail/目录下,运行脚本
. /openwebmail-tool.pl –init
若安装成功会有如下提示
clip_image008[6]
将/var/www/data目录下的openwebmail文件夹复制到/var/www目录下,否则网页上的图片无法显示。
cp –rf /var/www/data/openwebmail /var/www
开启httpd服务
service httpd start
在windows客户端上输入http://mail.hujw.com/cgi-bin/openwebmail/openwebmail.pl
clip_image010
使用mailtest1登陆,可以看见之前在outlook上收到的邮件
clip_image012
更改菜单栏为中文
clip_image014
更多选项也可以在配置文件下改
vi /var/www/cfg-bin/openwebmail/etc/openwebmail.conf 
例如:
更改邮件服务器域名为hujw.com
domainnames hujw.com 
更改默认语言为简体中文 
default_language zh_CN.GB2312
至此sendmail和openwebmail的基本配置都配置完成了,其实还有很多选项我们没有涉及,以后有心研究sendmail的童鞋可以再好好看看其他资料哦!

No comments:

Post a Comment