- 论坛徽章:
- 0
|
Sendmail+procmail
项目需求:由于公司想拥有自己独立的邮件系统,所以决定搭建自己的邮件系统,并且为了防止垃圾邮件,需要搭建procmail作为邮件过滤系统,
硬件环境:Red hat Enterprise 5.3
软件环境: sendmail.8.14.2.tar.gz (邮件系统)
procmail-3.22.tar.gz(过滤系统)
安装sendmail
1:安装前准备
首先必须得安装好编译软件的平台,例如:gcc、等编译环境的必要平台
还有安装m4(用在sendmail.mc文件生成sendmail.cf文件的时候实用)
2:安装
#tar –zxf sendmail.8.14.2.tar.gz //解压文件
#cd /usr/local/sendmail.8.14.2 //进入解压后的目录
#ls //查看目录里面的文件
如果有configure 这个文件说明就可以做编译前的准备了,如果没有看有没有makefile.PL,如果有的话,可以用perl 来生成makefile文件,如果没有makefile.PL的话,那肯定有makefile文件,所以就不需要编译前的准备了,直接编译。
#make //编译
#make install //安装
3:测试sendmail服务
#service sendmail restart
Shutting down sm-client: [ OK ]
Shutting down sendmail: [ OK ]
Starting sendmail: Warning: Option: AuthOptions requires SASL support (-DSASL)
[ OK ]
Starting sm-client: [ OK ]
如果能正常启动这说明编译的完成,如果不能则根据编译时的报错信息进行排错
我在安装的时候遇到了一下错误:
error: Failed dependencies:
libmysqlclient.so.15 is needed by dovecot-1.0.7-7.el5.i386
libmysqlclient.so.15(libmysqlclient_15) is needed by dovecot-1.0.7-7.el5.i386
libpq.so.4 is needed by dovecot-1.0.7-7.el5.i386
安装以下rpm包就OK了!
rpm -ivh perl-DBI-1.52-2.el5.i386.rpm
rpm -ivh mysql-5.0.45-7.el5.i386.rpm
rpm -ivh postgresql-libs-8.1.11-1.el5_1.1.i386.rpm
rpm -ivh dovecot-1.0.7-7.el5.i386.rpm
还有就是能遇到libpq.so.4这个依赖关系
包含在postgresql-libs-8.1.11-1.el5_1.1.i386.rpm中,只要把这个包安装就可以了!
4:配置/etc/mail/sendmail.mc
#cd /etc/mail/
#vim /etc/sendmail.mc
找到下面的两行,通过set nu来显示行数,一般在52行和53行
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
去掉前面的dnl
然后找到下面的那行
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl
把Addr改成0.0.0.0
然后保存退出
5:通过m4生成sendmail.cf文件
# m4 sendmail.mc > sendmal.cf
如果提示command not found 那么说明你的m4这个包没有安装,然后安装m4,重新生成!
6:编译/etc/mail/local-host-names
#vi /etc/mail/local-host-names
写入自己的域名,如: xxx.com
这一步如果不做,将来在客户端可能导致不能发送
7:然后重新启动sendmail服务
#service sendmail restart
8:启动saslauthd
#/etc/rc.d/init.d/saslauthd restart
Stopping saslauthd: [FAILED]
Starting saslauthd: [ OK ]
9:安装dovecot
#mount /dev/cdrom /media/
#cd /media/Server
#rpm –vhi dovecot-1.0.7-7.el5.i386.rpm
10:测试启动dovecot服务
Service dovecot restart
如果能正常启动,则说明安装成功,如果不能则根据报错信息进行排错。
11:编辑/etc/dovecot
#vim /etc/dovecot
然后找到下面的那一行,去掉前面的#
protocols = imap imaps pop3 pop3s
然后保存退出
12:然后重新启动dovecot 服务
Service dovecot restart
如果服务启动成功就可以进行测试了!(通过客户端的OE或者outlook)
安装procmail
1:解压
解压文件到/usr/local/
#tar –zxf procmail-3.22.tar.gz –C /usr/local/
#cd /usr/local/procmail-3.22
2:编译
#make
3:安装
#make install
4:增加安全性
make install-suid
5:编辑/etc/procmailrc(也就是procmail的关键)
vi /etc/procmailrc
MAILDIR=/var/mail //选择邮件服务器的目录
VERBOSE=off //关闭VERBOSE
PATH=/bin:/sbin:/usr/bin:/usr/sbin/:/usr/local/bin:/usr/local/sbin
LOGFILE=/var/log/procmail.log //选择procmail的日志目录
:0
*^Subject:.*test*
/dev/null
[/code]
这个意思是把主题里面含有test的,都过滤掉,发到/dev/null
还可以过滤掉某个邮件地址
:0
*From:.*why@163.com
{
:0
/dev/null
}
这样就把所有@163发来的邮件都拒绝了
[email=下面这条是@163.com]下面这条是@163.com[/email]
给发过的邮件,只要主题含有hello的才过滤掉
^From.*tom@163.com
*^Subject:.*hello*
{
:0
/dev/null
}
为了防止规则多了,而不好区分,可以在规则前加上注释语句!用#标识
可以根据要求不同来设置不同的规则,以上的规则主要是根据“主题”和邮件地址来设置的!
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/104869/showart_2085627.html |
|