分享
 
 
 

中小企业服务器配置方案(邮件服务器) Sendmail服务器 Qmail服务器

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

中小企业服务器配置方案(邮件服务器)

2001-06-05 12:29

发布者:netbull 阅读次数:155

汤海京 (投稿)

第四章 邮件服务器

第一节 Sendmail服务器

& 1.1 简介

邮件服务是用户所需要的最重要的网络服务。Web的通信量很大,但邮件主要用于个人之间的通信,而人-人的通信是商务的基础。没有邮件服务的网络是不完整的网络。换句话说,如果不能给用户提供完整的TCP/IP下的邮件支持,这样的网络操作系统也不值得信赖。

配置sendmail是一件大而复杂的工作,但也不完全都是这样,与其他一些网络服务器系统只安装SMTP服务器软件的情况相比,Linux已经配置好了多数的设置。在多数系统下,缺省配置都能良好的运行。我将在本章中给出一些配置的建议,主要的一些配置参数建议大家不要随意更改。

(LinuxByte下载Sendmail)

& 1.2 所需资源

&1.2.1 所需包

RedHat6.2 服务器安装

&1.2.2 所需配置文件

/etc/sendmail.cf 系统自带,管理员配置

/etc/sendmail.cw 系统自带,管理员配置

& 1.3 配置方案

1./etc/sendmail.cf

说明:sendmail主配置文件

控制sendmail运行时的配置。完整的sendmail配置应该包括7部分:

Local Info(本地信息):这部分定义了本地主机的信息

Options(选项):用来设置定义sendmail环境的选项。

Message Precedence(消息的优先级):sendmail消息优先级

Trusted Users(信任用户):定义发送邮件时允许改变发送地址的用户

Format of Headers(头格式):定义在sendmail中插入的邮件头信息

Rewriting Rules(改写规则):这部分保存着改写邮件地址命令使用该命令可以将邮件地址从用户邮件程序的地址形式改写为邮件发送程序所需要的地址形式。

Mailer Definition(邮寄者说明):定义发送邮件的程序,改写规则是邮件者使用的规则,在本部分定义。

源文件:

V8/Berkeley

Cwlocalhost

Fw /etc/sendmail.cw

CP.

DYuunet.uu.net

CPUUCP

DS mail.weboa.com.cn

CO @ % !

C..

C[[

Kmailertable hash -o /etc/mail/mailertable

#制作db库

Kdomaintable hash -o /etc/mail/domaintable

Kgenerics hash -o /etc/mail/genericstable

Kvirtuser hash -o /etc/mail/virtusertable

Kaccess hash -o /etc/mail/access

Kmxserved bestmx -z: -T

Kresolve host -a -T

FR-o /etc/mail/relay-domains

DR

DH

Kdequote dequote

CM root

DM mail.weboa.com.cn

#设置邮件服务器名称

DnMAILER-DAEMON

CPREDIRECT

DZ8.9.3

O SevenBitInput=False

O EightBitMode=pass8

O AliasWait=10

O AliasFile=/etc/mail/aliases,/etc/mail/majordomo

O MinFreeBlocks=100

#规定最小空闲块

O MaxMessageSize=1000000

#指定用户一次最大发送的邮件大小

O BlankSub=.

O HoldExpensive=False

O DeliveryMode=background

O AutoRebuildAliases=true

O TempFileMode=0600

O HelpFile=/etc/mail/sendmail.hf

O SendMimeErrors=True

O ForwardPath=$z/.forward.$w:$z/.forward

O ConnectionCacheSize=2

O ConnectionCacheTimeout=5m

O UseErrorsTo=False

O LogLevel=9

#记录到日志文件的事件等级

O CheckAliases=False

O OldStyleHeaders=True

O PrivacyOptions=authwarnings,noexpn,novrfy

O QueueDirectory=/var/spool/mqueue

O Timeout.queuereturn=4d

O Timeout.queuewarn=4h

O SuperSafe=True

O StatusFile=/var/log/sendmail.st

O DefaultUser=8:12

O SmtpGreetingMessage=$j Sendmail $v/$Z; $b

O UnixFromLine=From $g $d

O OperatorChars=.:%@!^/[]+

Pfirst-class=0

Pspecial-delivery=100

Plist=-30

Pbulk=-60

Pjunk=-100

Ft -o /etc/mail/sendmail.ct

Troot

Tdaemon

Tuucp

R$* $#error $@ 5.7.1 $: "550 Relaying denied"

#以上是Linux默认的选项,不允许客户机使用mail服务器收发邮件,如果允许客户机收发的话应将上边一句话改成

R$- $@ok

#注意:中间是两个tab键

#一下是邮件头信息

H?P?Return-Path: <$g>

HReceived: $?sfrom $s $.$?_($?s$|from $.$_)

H?D?Resent-Date: $a

H?D?Date: $a

H?F?Resent-From: $?x$x <$g>$|$g$.

H?F?From: $?x$x <$g>$|$g$.

H?x?Full-Name: $x

H?M?Resent-Message-Id: <$t.$i@$j>

H?M?Message-Id: $t.$i@$j

#以上是邮件头信息

2.管理员需要执行touch /etc/mail/aliases 和 touch /etc/mail/majordomo来创建两个文件,然后重新启动sendmail,利用sendmail.cf里生成db库的配置来生成两个库文件:aliases.db和majordomo.db;当然,管理员也可以通过执行makemap hash mailertable < mailertable来生成新的db,这样可以不重新启动。

& 1.4 测试及管理办法

&1.4.1 测试方法

1.管理员可以通过执行/etc/rc.d/init.d/sendmail restart来使更改的

配置生效。

2.管理员通过执行 fetchmail –u yourname yourserver 来为没有邮件用

户制定他们的口令,用户需要在客户端作相应的设置。

3.管理员应该打开pop3服务,即更改配置文件

3. 管理员在服务器上可以通过执行 echo test | /usr/sbin/sendmail

– v thj@weboa.com.cn来测试建立好的邮件用户是否能够正常工作。

& 1.5 小结

其实我们只要设置其中的几个地方就可以实现mail服务器的功能,这是因为sendmail有很强的适用性,并且它是在不断更新的。所以现在提供给我们的sendmail的配置方案已经经过实践检验,不需要管理员做太大改动,就可以实现强大的sendmail功能。

第二节 Qmail服务器

& 2.1 简介

Qmail是一种可以完全替代Sendmail-binmail体系的新一代Unix邮件系统.Qmail与Sendmail比起来有很多特性,包括:

安全----Qmail将Mail处理过程分为多个过程,尽力避免用root用户

运行.同时Qmail禁止对特权用户(root,deamon等)直接发

信.

可靠----Qmail的直接投递保证Email在投递过程中不会丢失.

Qmail同时支持新的更可靠的信箱格式Maildir,保证系统在

突然崩溃情况下不至破坏整个信箱.

高效----在运行于奔腾的BSD/OS上,Qmail每天可以轻松的投递200000

封信件.

简单----Qmail要比其他的Internet Mail系统小得多.Qmail通过统

一的向前机制完成forwarding,alias和maillist等功

能,Qmail使用简单高效队列来处理投递.Qmail-smtpd可以由

inetd启动,节省了一定资源.

Qmail支持: host and user masquerading

full host hiding

virtual domains

null clients

list-owner rewriting

relay control

double-bounce recording

arbitrary RFC 822 address lists

cross-host mailing list loop detection

& 2.2 所需资源

(LinuxByte下载qmail,其它软件大多数都可以在LinuxByte找到,需要的话请使用LinuxByte搜索引擎查找)

&2.2.1 所需包

qmail-1.03.tar.gz Qmail基本系统包

ucspi-tcp-0.88.tar.gz tcpserver等服务程序

daemontools-0.70.tar.gz 监视工具

checkpassword-0.90.tar.gz pop3验证用户程序

vpopmail-4.9.8.tar.gz 虚拟域用户pop3支持

vqsignup-0.4 web方式用户注册

sqwebmail-1.2.4.tar.gz webmail

qmailadmin-0.42.tar.gz 虚拟域web方式管理

ezmlm-0.53.tar.gz 邮件列表管理

autorespond-1.0.0.tar.gz 自动回复程序

&2.2.2 下载网址

http://www.qmail.org

http://www.inter7.com/qmail

& 2.3 安装过程

2.2.1 安装Qmail基本包

(1)添加Qmail所必须的用户和组

mkdir /var/qmail

groupadd nofiles

useradd -g nofiles -d /var/qmail/alias alias

useradd -g nofiles -d /var/qmail qmaild

useradd -g nofiles -d /var/qmail qmaill

useradd -g nofiles -d /var/qmail qmailp

groupadd qmail

useradd -g nofiles -d /var/qmail qmailq

useradd -g nofiles -d /var/qmail qmailr

useradd -g nofiles -d /var/qmail qmails

(2)安装Qmail包

cd /usr/local/src

tar xvzf qmail-1.03.tar.gz

cd qmail-1.03

make setup check

./config-fast $HOSTNAME

# 设定Qmail服务器主机名

cd ~alias;touch .qmail-postmaster .qmail-mailer-

daemon .qmail-root

sed s/Mailbox/Maildir// /var/qmail/boot/home >

/var/qmail/rc

chmod 755 /var/qmail/rc

2.2.2 安装tcpserver等服务程序

cd /usr/local/src

tar xvzf ucspi-tcp-0.88.tar.gz

cd ucspi-tcp-0.88

make

make setup check

2.2.3 安装pop3验证用户程序

cd /usr/local/src

tar xvzf checkpasswd-0.90.tar.gz

cd checkpasswd-0.90

make

make setup check

chmod og-rx /bin/checkpassword

2.2.4 安装虚拟域用户pop3支持

groupadd vchkpw

useradd -g vchkpw vpopmail

mkdir ~vpopmail/etc

echo "127.0.0.:allow,RELAYCLIENT=""" > ~vpopmail/etc/tcp.smtp

echo "192.168.0.:allow,RELAYCLIENT=""" >> ~vpopmail/etc/tcp.smtp

echo ":allow" > /etc/tcp.smtp

/usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

cd /usr/local/src

tar xvzf vpopmail-4.9.8.tar.gz

cd vpopmail-4.9.8

make clean

./configure --enable-hardquota=10485760 --enable-deliver-filter=y

make

make install-strip

cd /home/vpopmail/bin

./vadddomain weboa.com.cn weboa

./vadduser thj@weboa.com.cn thj

2.2.5 更改Sendmail为Qmail

killall -TERM sendmail

mv /usr/lib/sendmail /usr/lib/sendmail.org

mv /usr/sbin/sendmail /usr/sbin/sendmail.org

mv /etc/rc.d/init.d/sendmail /etc/rc.d/init.d/sendmail.org

ln -s /var/qmail/bin/sendmail /usr/lib/sendmail

ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail

cp /root/qmail/qmail-start /etc/rc.d/init.d/ -f

cp /root/qmail/databytes /var/qmail/control/ -f

ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc3.d/S98qmail

2.2.6 制作Qmail控制脚本

#!/bin/sh

case "$1" in

start)

echo "start qmail:"

/var/qmail/rc &

echo "start smtp service:"

/usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb 0 smtp

/var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger

smtpd 3 &

echo "start pop3 service:"

/usr/local/bin/tcpserver -H -R 0 pop3 /var/qmail/bin/

qmail-popup $HOSTNAME /home/vpopmail/bin/vchkpw

/var/qmail/bin/qmail-pop3d Maildir &

;;

stop)

echo "stop qmail:"

killall -9 tcpserver

killall -9 qmail-lspawn

;;

*)

exit 1

;;

esac

exit 0

2.2.7 安装监视工具

cd /usr/local/src

tar zxvf daemontools-0.70.tar.gz

cd daemontools-0.70

make

make setup check

#执行文件将安装于/usr/local/bin中。

#安装本工具后可以用 # mkdir /var/run/qmail

# supervise /var/run/qmail /var/qmail/rc

来启动qmail,还可以用svc来关闭或重启qmail,用svstat监视

qmail运行情况

2.2.8 Qmail之Web解决方案

(1) 安装邮件列表管理

cd /usr/local/src

tar zxvf ezmlm-0.53.tar.gz

make

make man

make setup

(2) 安装自动回复程序

cd /usr/local/src

tar zxvf daemontools-0.70.tar.gz

gcc -Wall -o autorespond autorespond.c

cp autorespond /usr/local/bin/autorespond

(3) 安装虚拟域web方式管理

cd /usr/local/src

tar zxvf qmailadmin-0.42.tar.gz

cd qmailadmin-0.42.tar.gz

在安装前首先要考虑满足以下几项要求:

a.是否拥有一个vpopmail用户vchkpw

b.cgi-bin目录的所在位置

c.ezmlm目录的所在位置

d.autorespond目录的所在位置

如果能够达到以上要求,可以继续安装

./configure

make

make install-strip

检测安装是否正确:浏览器中打开路径

http://mail.weboa.com.cn/cgi-bin/qmailadmin,

看根据前面设置的用户和密码是否能够成功登录进去。

(4) 安装WebMail包

cd /usr/local/src

tar zxvf sqwebmail-1.2.4.tar.gz

cd sqwebmail-1.2.4.tar.gz

./configure --without-authpam --without-authuserdb

enable-webpass=no --without-authpwd

--without-authshadow

make configure-check

make

#当make时报错找不到db.h

可以 cp /usr/include/db1/db.h /usr/include/db.h

make check

make install-strip

make install-configure

检测安装是否正确:浏览器中打开路径

http://mail.weboa.com.cn/cgi-bin/sqwebmail

(5) 安装vqsignup

tar xvfz vqsignup-0.4.tar.gz

cd vqsignup-4.0

a. 修改Makefile文件:

FLAGS=-I/home/vpopmail/include

修改-I/home/vpopmail/include指到真实的vpopmail/include目录

修改下面的这行

$(CC) $(FLAGS) -o $(BIN) $(OBJS) -L/home/vpopmail/lib -lvpopmail -lcrypt

修改 -L/home/vpopmail/lib 为真的vpopmail lib的目录

b. 编译

make

c. 安装

拷贝signup.cgi和signup.conf文件到cgi-bin目录下

切换目录到cgi-bin目录下

chown vpopmail signup.cgi

chgrp vchkpw signup.cgi

chmod ug+s signup.cgi

chmod ugo+r signup.conf

拷贝vqsignup_html目录到cgi-bin目录下,确信对所有

用户可读

拷贝vqsignup.html文件到DocumentRoot目录下,确信

能够被访问。编辑cgi-bin目录下的vqsignup.conf文件

修改"add_domain"的所有行,加上你的真实的域,把其他

的行删除掉.更改vqsignup_text/*.html文件,使包含"result_*"的行的路径指到正确的全路经。

修改vqsignup_text目录下所有的文件,使它们只包含你

想支持的域,你也可以定制这些页面,使它们更加好看些。

修改DocumentRoot目录下vqsignup.html文件,使它只

包含你想支持的域,你也可以定制这个页面,使它更加好

看些。

d. 测试

用你的浏览器访问http://your web server/your sub dir/vqsignup.htm, 试着注册新用户,如果成功的话,

那么就恭喜你了。如果有错误,请返回安装步骤仔细查看文件的权限和vqsignup.html里的值是否正确。

& 2.4 其他参考资料

Adam McKenna所编写qmail-HOWTO

http://www.flounder.net/qmail/qmail-howto.html

qmail FQA (內含于qmail 1.03 Source Code)

http://www.qmail.org/

http://www.linuxaid.com.cn/solution/上有几篇比较好的安装文档

http://www.linuxforum.net/cgi-bin/perl/wwwthreads.pl上的qmail讨

论也不错

& 2.5小结

Qmail配置工作虽然较Sendmail来说已经大大简化,但要想真正建立一个功能强大、运行稳定的邮件服务器,掌握其灵活的配置,认真阅读其How-to和FAQ还是极有必要的。关于Dot-forward、邮件列表等其他非常有用的方法和使用技巧,限于篇幅就不再介绍了,建议大家参考软件包中的有关文档。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有