找回密码
 注册
查看: 1538|回复: 1

利用sendmail做功能强大的邮件服务器

[复制链接]
发表于 2006-7-26 09:48:01 | 显示全部楼层 |阅读模式
由于大家在配置邮件服务器过程当中很难找一个完整的配置手册,特写此文权当抛砖引玉,设计目标,要求能防垃圾、防病毒、支持pop3,imap,smtp,web收发

Sendmail+cyrus-sasl+dovecot+openwebmail+mailscanner
所用软件包
  sendmail.8XXXXXX.rpm
  sendmail-cf.8XXXX.rpm
  cyrus-sasl-2.1.19-5.rhel4.i386.rpm
  dovecot-0.99.11-2.rhel4.1.rpm
  httpd-2.0.52-12.ent.rpm

修改sendmail.mc  加入SMTP认证
vi /etc/mail.sendmail.mc

   dnl TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
   dnl define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
   DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')  
改为
   TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
   define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
   DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')

在 Sendmail 上面启用 ORDB 网站提供的防垃圾邮件功能,请依照底下的步骤进行即可:
# 在 MAILER 之前加入这一行,请注意,底下是『同一行』:
   FEATURE(`dnsbl', `relays.ordb.org', `"Email blocked using ORDB.org - see <http://ORDB.org/lookup/?host="$&   {client_addr}">"')

执行m4 生成sendmail.cf
   m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

写入自己的域名   
   vi /etc/mail/local-host-name
   在最后一行写上自己的域名如 163.com

重启sendmail
/etc/init.d/sendmail restart

修改/etc/dovecot.conf文件:
  #protocols = imap imap3
更改为:
  protocols = imap imap3 pop3 pop3s
/etc/init.d/dovecot restart
这样就有一个可以收发电子邮件的服务器了

加入openwebmail功能,可以使用户通过web来收发电子邮件
请到http://www.openwebmail.org下载以下软件包,最好是下载rpm包,这样安装更简单,如果比较熟悉linux软件安装的人员,也可以下载.tar.gz包
   perl-Text-Iconv-1.4-1.2.el4.rf.i386.rpm
   perl-suidperl-5.8.5-12.1.1.i386.rpm
   perl-Compress-Zlib-1.34-1.2.el4.rf.i386.rpm
   perl-CGI-SpeedyCGI-2.22-1.2.el4.rf.i386.rpm
   perl-5.8.5-12.1.i386.rpm
   openwebmail-2.51-1.i386.rpm
请用 rpm -ivh perl*rpm 来安装
再用 rpm -ivh openwebmail-2.51-1.i386.rpm 安装openwebmail
   cd /var/www/cgi-bin/openwebmail/
   ./openwebmail-tool.pl --init

修改 /var/www/cgi-bin/openwebmail/etc/openwebmail.conf 文件:

   domainnames auto
更改为:
   domainnames easy.com (更改为自己定义的域名)

   default_language en
更改为:
   default_language zh_CN.GB2312 (更改为简体中文版接口)

   default_iconset Cool3D.Englist
更改为:
   default_iconset Cool3D.Chinese.Simplified (更改为中文3D按键)

修改/var/www/cgi-bin/openwebmail/etc/defaults/openwebmail.conf文件:

   authpop3_server localhost
更改为:
   authpop3_server 192.168.1.253 (更改pop3服务器的地址)

修改/var/www/cgi-bin/openwebmail/etc/defaults/dbm.conf文件:

   dbmopen_ext none
更改为:
   dbmopen_ext .db

   dbmopen_haslock no
更改为:
   dbmopen_haslock yes


继续运行openwebmail-tool.pl文件:

  ./openwebmail-tool.pl --init

Send the site report?(Y/n) y (输入y,然后按回车键)
sending report...

Thank you.

touch /var/log/openwebmail.log
chcon -u system_u /var/log/openwebmail.log
chcon -t httpd_sys_script_rw_t /var/log/openwebmail.log
chcon -t httpd_unconfined_script_exec_t /var/www/cgi-bin/openwebmail/openwebmail*

说明一下这个部分
touch /var/log/openwebmail.log <==这是产生一个log檔
chcon -u system_u /var/log/openwebmail.log <==这是修改档案使用者权限
chcon -t httpd_sys_script_rw_t /var/log/openwebmail.log <==这是修改写入权限
chcon -t httpd_unconfined_script_exec_t /var/www/cgi-bin/openwebmail/openwebmail* <==这是修改档案由什么套件专用
这些都是因为SELinux造成的,原本档案、目录权限只有使用档案前面那串(rwxrwxrwx),在使用SELinux后,会多出一种管理context type,context type会限制该目录、档案的使用原则,所以,在使用有安装SELinux时,常常会出现apach、ftp明明都设定好了,却还是不能使用,多半出问题,都是SELinux在做怪。


在ie中输入以下地址:

http://mail.easy.com/cgi-bin/openwebmail/openwebmail.pl

Sendmail 的防毒机制
可以使用 Mailsacnner + Clam Antivirus 来做具防毒功能的服务器

使用套件: clamav-0.65-1.1.i386.rpm
clamav-db-0.65-1.1.i386.rpm
MailScanner-4.30.3-2.rpm.tar.gz


1.取得MailScanner

http://www.sng.ecs.soton.ac.uk/mailscanner/

点选Download 选取您的版本并储存

2.解压缩档案 小弟抓的是4.30.3-2版

#tar zxvf MailScanner-4.30.3-2.rpm.tar.gz

3.安装MailScanner
#cd MailScanner-4.30.3-2
#./Update-MakeMaker.sh
#./install.sh

完成MailScanner 的安装

4.取得防毒软件 Clam AntiVirus
由rpmfind.org 下载 clamav套件
关键词 clamav and clamav-db

下载: http://rpmfind.net/

5.安装clamav套件

#rpm -ivh clamav-db-0.65-1.1.i386.rpm
#rpm -ivh clamav-0.65-1.1.i386.rpm

6.修改Mail Scanner 设定让Mail Scanner 和 Clam Anti Virus结合

#vi /etc/MailScanner
#vi MailScanner.conf

找寻 Virus Scanner = none
改成 Virus Scanner = clamav
储存后离开 (:wq)

7.让MailScanner 接手Sendmail的工作启动防毒机制

#service sendmail stop
#chkconfig sendmail off
#chkconfig --level 2345 MailScanner on
#service MailScanner start

8.建立一个clam uptedate的log以查询升级状况
#touch /var/log/clam-update.log
#chmod 600 /var/log/clam-update.log
#chown clamav /var/log/clam-update.log

9.测试升级clamav 并写入到log

#freshclam -d -c 6 -l /var/log/clam-update.log

10.将自动升级clam写入crontab中
#crontab -e
0 * * * * /usr/bin/freshclam --quiet -l /var/log/clam-update.log
发表于 2006-8-9 17:27:31 | 显示全部楼层
很不错,顶一下,收藏了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-12 12:27 , Processed in 0.044698 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表