打印

(三)qmail邮件系统qmail的工作原理和配置文件的设置

----  plusdomain
  用来将一个域名指定成任何一个以一个加号(+)结尾的地址。缺省的情况下,出现在me文件的域名被添加到任何一个以加号结尾的邮件地址中。
----  queuelifetime
  用来指定一个消息在他被删除前,可以在邮件列表中保存的时间秒数。默认是604800,当投递失败的消息超过规定的时间,将被从邮件队列中删除。
----  rcphosts
  定义了qmail可以接收消息的主机和域名。 不过因为rcpthosts中的域名最好不要超过50行,多出的添加到morercpthosts中。
----  morercpthosts
  用来指定qmail将要为其接受消息的额外的主机和域名。
----  smtpgreeting
用来指定SMTP连接的欢迎标志 ,默认是用me文件的主机名。
例如:smtpgreeting值为 welcome connect to out open relay mail server –mail.chinaunix.net
那么建立一个smtp连接的时候将会看到如下信息:
Trying 198.160.x.x...
Connected to mail.96633.net
Escape characteris ^].
220 welcome connect to out open relay mail server –mail.chinaunix.net ESMTP
----  smtproutes
  用来指定能够被用来将邮件投送给特定目的地的静态smtp连接的。
smtprouter行格式如下:
host : relay
其中host可以是一个主机名或者域名,这个值将被重定向到有relay所定义的一个特定的邮件主机上。
举例:
beijing.chinaunix.net :shanghai.chinaunix.net
chinaunix.net :
:tianjin. chinaunix.net :2000

TOP

第一行,定义了任何到beijing. chinaunix.net的消息重定向到shanghai. chinaunix.net
第二行,强制qmail对任何以chinaunix.net结尾的地址进行dns查询。
第三行,通过不指定第一个参数,任何不在前两行范围内的消息都会被转发到邮件服务器tianjin.96633.net。同时,还用2000端口替代标准的smtp tcp的25端口。这个技术常常用在通过一个防火墙连接到internet邮件中继中。
注意:smtproutes可定义许多特定的smtp路由。需要主机的是他的地址列表,qmail会按照smtproutes文件中出现的顺序,来处理这些地址。有时顺序不对,会引起邮件循环,切记!
----  timeoutconnect
  用来指定qmail-remote将要等待的一个时间秒数。也就是说等待远程smtp服务器接受本地的一个smtp请求响应的时间,默认是60秒。对于质量不好的网络,可以适当调节。
----  timeoutremote
用来指定qmail-smtpd等待远程SMTP主机发送数据的时间线。默认的情况下,如果连接建立后1200秒内没有 接受到远程SMTP主机的任何信息,那么将关闭这个连接。
----  timeoutsmtpd
  用来指定qmail-smtpd等待远程smtp客户端连接的时间秒数。默认是1200,超过这个时间,连接取消。
----  virtualdomains
让qmail接受本地邮件以外,还接受该文件中指定的域或者邮件地址,就是常说的虚拟域支持。
  以上说的一些控制文件,qmail默认不是都有的,只有一些必须要得。根据你的mail不同的使用情况,自己选择来建立和设置。

TOP

3.6 系统别名
qmail的系统别名和sendmail不太一样,没有用一个大文件来包含所有的。而是建立了许多独立的别名文件。
在/var/qmail/alias中,格式如下:
。qmail-alias     ---alias是要建立的别名。
举例:我要给postmaster建立一个别名文件,使寄给postmaster的邮件都给peng
echo peng >; /var/qmail/alias/.qmail-postmaster

TOP

3.7用户别名
除了系统文件,。Qmail还可以支持独立的用户系统配置文件。在用户的家目录中。
例如,在用户peng目录下,建立一个peng-sales的邮件列表,就可以建立 .qmail-sales文件,在文件中添加邮件地址,每个一行。这样发给peng-sales的邮件,就会给任何一个地址copy一份。
3.8改变MUA程序接口
qmail程序包含了一个可执行程序,该程序替代了unix标准的sendmail程序。你要想用qmail作为你的mail服务器,必须用qmail的sendmail包装程序替代现有的sendmail程序。
# mv /usr/sbin/sendmail /usr/sbin/sendmail.bak
# chmod 0 /usr/sbin/sendmail.bak
# ln –s /var/qmail/bin/sendmail /usr/sbin/sendmail

TOP

3.9建立qmailsmtp功能
  传统上使用inetd程序来监听网络,但是缺点很多。本文中用ucspi-tcp包的tcpserver服务来代替它。参考了iceblood的qmail-setup.1.5.3的脚本文件,我是这样完成的:
1、        建立/etc/qmail目录,建立了smtp.sh and pop3.sh启动脚本
2、        建立了tcp.smtp 和tcp.smtp.cdb文件。
具体我是这样做的:
#echo “/etc/qmail/start” >;>; /etc/rc.d/rc.locad     --- 开机执行/etc/qmail/start
# touch /etc/qmail/start                      --- 建立执行文件
# touch /etc/qmail/smtp                      --- 建立smtp脚本文件
# touch /etc/qmail/pop                       --- 建立pop脚本文件
# touch /etc/qmail/tcp.smtp                   ---建立tcpserver的连接规则文件
# echo "csh -cf '/var/qmail/rc &'">;/etc/qmail/start    -- 开机启动qmail
# echo "/etc/qmail/smtp.sh">;>;/etc/qmail/start       -- 开机执行smtp.sh
smtp脚本内容:
/usr/local/bin/tcpserver -H -R –l chinaunix.net -t 1 -c 100 -v -p -x/etc/qmail/tcp.smtp.cdb
-u 502 -g 501 0 smtp /var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true | /var/qmail/bin/splogger &
(注:502 and 501换成系统上的qmaild与nofiles的uid and gid的值。)
pop脚本内容:
/usr/local/bin/tcpserver -c 100 -v -l chinaunix.net -U -H -R 0 pop3 /var/qmail/bin/qmail-popup chinaunix.net /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>;&1
| /var/qmail/bin/splogger &
tcp.smtp脚本内容
127.0.0.1:allow,RELAYCLIENT=" "
:allow
# /var/qmail/bin/tcprules /etc/qmail/tcp.smtp.cdb /etc/qmail/tcp.smtp.tmp < /etc/qmail/tcp.smtp
以上配置,可以做到开机自动启动了。具体的详细参数配置,我们《(四)ucspi-tcp的原理和设置》部分再详细讨论。

TOP

其实,/var/qmail/control/下的位置文件,有许多是不必要的。我的系统就用了一下几项:
databytes      locals       me          rcpthosts       virtualdomains
defaultdomain  locals.lock  plusdomain  rcpthosts.lock  virtualdomains.lock
badmailfrom
只有databytes 、badmailfrom是我添加的,剩下都是系统默认有的。之所以介绍这么多,就是让大家根据自己的不同情况,自己设置。
3.10小结。
到这里,qmail这一部分就介绍完了。回顾一下:
我们明白了qmail的工作流程。
创建了基本的qmail控制文件。
在安装时,创建了必要的qmail系统别名。
决定了本地邮件的投递方式,安装时用的maildir。
创建了qmail启动脚本。
改变了mua的程序接口。
建立了qmail的smtp功能。
简单的讲了qmail配置文件.qmail。
从qmail这一部分来说,应该是可以了

TOP


感谢一直以来您对我们的支持!
当前时区 GMT+8, 现在时间是 2008-10-8 12:40 京ICP证060528 号

Designed By 17DST