• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

qmail控制文件详解

发布: 2007-5-25 23:49 | 作者: 未知 | 来源: ChinaUnix.net | 查看: 18次 | 进入软件测试论坛讨论

领测软件测试网
2002-06-07 04:58 
发布者:rainbow 阅读次数:941  
文档 :QMAIL控制文件详解 
做成日期 :2002.02.19 
做成者 :姚遠方 (RainBow) 
最终修正日 :2002.06.03 
最终修正者 :姚遠方 (RainBow) 
----------------------------------------------------------------- 
目录 
<1.一些说明> 
<2.修改档案> 
<3.設定方法> 
[1.安装 ] 
[2.设定 ] 
[3.试用 ] 
<3.FAQ> 
<4.备注> 

----------------------------------------------------------------- 
<1.一些说明> 

这篇文档没有版权信息,可自由修改这份文档 
这份文件将永远不会有完成的一天,请把你的问题以及成功的经验寄给我 
这可以使它成为一份更好的说明文件,并且帮助更多人很好的使用它 
如果你利用这篇文档实现了你期望的应用,请告诉大家,让我们分享你的喜悦 

寻找此文档的最新版本或其他实用的技术文档请到搜索引擎查询关键字 "姚远方" 
因为我的主页总是搬来搬去的 

如果你想发信给我询问相关问题前请仔细再看一遍这篇文档,因为他经过了无数人的努力到现在 
如果你想发信给我询问相关问题请表现相应的礼貌,并且我不能确定可以给你回复 

瑾以此文献给我最爱的女孩毛毛雪,虽然她可能永远看不到这篇文档,因为她不是这种类型的女孩 

同时怀念带我接触这神奇的qmail的老师和上司,岗奇文彦 

QMAIL的官方站点:http://www.qmail.org/ 
我的信箱:yuanfang@mac.com / rainbow@0532.com 
----------------------------------------------------------------- 
<2.修改档案> 

[2002.06.03 姚远方 RainBow] 
更新 
添加一些难解项目的例子 
添加smtpgreeting的纪录 
写了备注 

[2002.02.19 姚远方 RainBow] 
做成 

----------------------------------------------------------------- 
<3.安装设定方法> 

[1.qmail全部控制文件列表(按照相关性排列) ] 

qmail-inject 
defaultdomain 
defaulthost 
idhost 
plusdomain 

qmail-qmqpc 
qmqpservers 

qmail-remote 
helohost 
smtproutes 
timeoutconnect 
timeoutremote 

qmail-send 
bouncefrom 
bouncehost 
concurrencylocal 
concurrencyremote 
doublebouncehost 
doublebounceto 
envnoathost 
locals 
me 
percenthack 
queuelifetime 
virtualdomains 

qmail-smtpd 
badmailfrom 
databytes 
localiphost 
rcpthosts 
morercpthosts 
timeoutsmtpd 
smtpgreeting 


----------------------------------------------------------------- 
[2.各控制文件的作用 ] 
2.1 qmail-inject 
qmail-inject接受本地邮件消息后检测邮件头是否符合RFC822标准,并传送给qmail-queue排进队列 

defaultdomain 
用来向那些没有使用正确的username@hostname.domain格式的邮件中增加邮件地址的,默认情况下, 
如果主机地址中没有结束符".",qmail-inject将给主机名后添加defaultdomain的内容,如果该文 
件不存在,将使用me文件中的值代替. 
例如:defaultdomain值为linuxfane.com 
本地产生了一封发送给rainbow@rainbow的邮件,那么qmail-inject将用linuxfane.com来补全这个 
后缀,变成rainbow@rainbow.linuxfane.com 

defaulthost 
用来定义主机名,用来向地址中不含主机名的邮件补足邮件地址的。类似于defaultdomain。 
例如:defaulthost值为linuxfane.com 
那么发送给 rainbow的消息,将被qmail-inject用defaulthost的值来补足为rainbow@linuxfane.com, 
以便于qmail-send快速分辨是否属于本地地址。 

idhost 
用来指定邮件中Message-ID:头字段的主机名 
例如:idhost值为linuxfane.com 
那么邮件头中如下: 
Message-ID:<1234567890.12345.qmail@linuxfane.com> 
如果idhost值为rainbow.linuxfane.com 
那么邮件头中如下: 
Message-ID:<1234567890.12345.qmail@rainbow.linuxfane.com> 

plusdomain 
用来将其值添加在任何一个以一个+号结尾的地址 
_________________________________________________________________ 

2.2 qmail-qmqpc 
qmail-qmqpc是快速邮件排队协议(QMQP)使用的程序,QMQP是一个QMAIL专用协议,用在工作站级QMAIL 
服务器向中心服务器发送队列。 

qmqpservers 
用来指定qmail-qmqpc使用的上级服务器 
通常该功能应用很少,我认为qmail-qmqpc用法就是代替qmail-queue来直接传给上级服务器。 
_________________________________________________________________ 

2.3 qmail-remote 
qmail-remote通过SMTP协议向远程主机传送邮件。 

helohost 
该文件用来指定qmail-remote程序与远程邮件主机SMTP会话中的主机名。 

smtproutes 
用来指定到固定目的的静态SMTP路线。 
例子:smtproutes内容如下 
rainbow.linuxfane.com:mail8.rainbow.jp 
:fw.rainbow.linuxfane.com:8088 
第一行的存在会将发给rainbow.linuxfane.com的邮件重定向到mail8.rainbow.jp主机 
第二行的存在会将任何不符合之前行条件的邮件重定向到fw.rainbow.linuxfane.com的8088端口,让 
邮件安全的穿越防火墙 
qmmail-remote将按照smtproutes中的行序来进行处理 

timeoutconnect 
用来指定qmail-remote尝试同一个远程邮件主机建立一个SMTP会话的时间。默认值状态下如果超出60 
秒没有得到远程邮件主机的回应,那么将断开连接。 

timeoutremote 
用来指定qmail-remote在一个SMTP连接已经建立后,远程邮件主机的每一个回应的时间数。默认值为 
1200秒。 
_________________________________________________________________ 

2.4 qmail-send 
qmail-send用来检测队列中每一个邮件的状态,并调用相应的程序进行处理。例如一个目的为本地的 
邮件将会被qmail-send调用qmail-lspawn处理。 

bouncefrom | bouncehost 
默认情况下,退回给原始发送方的邮件的发件人地址为MAILER-DAEMON@HOSTNAME,如果你想修改 
MAILER-DAEMON这段,那么就修改bouncefrom文件吧。 
如果想修改MAILER-DAEMON@HOSTNAME中HOSTNAME这段,那么就修改bouncehost文件。 
例如:bouncefrom内容为SERVER-MANAGER | bouncehost文件内容为mail8.rainbow.jp 
那么一封因为邮件地址不存在而被退回的通知邮件的发件人将是 SERVER-MANAGER@mail8.rainbow.jp 

concurrencylocal 
用来决定qmail可以同时运行的本地投递进程的数目,默认值是10,标准安装的qmail最大可设值是120。 
安装的时候可以通过修改conf-spawn来将其变为255以下任何数目。 

concurrencyremote 
用来决定qmail可以同时运行的远程投递进程的数目,默认值是20,就是说,qmail可以在同一时间内 
同时发送20封邮件,标准安装的qmail最大可设值是120。安装的时候可以通过修改conf-spawn来将其 
变为255以下任何数目。 

doublebouncehost | doublebounceto 
这两个控制文件类似于bouncefrom和bouncehost的关系,也是doublebouncehost指定主机名, 
doublebounceto指定用户名。 
他们的功能是为一个被退回两次的邮件制定一条出路。 
例如:doublebouncehost内容为rainbow.linuxfane.com | doublebounceto内容为rainbow 
那么一个被退回2次的邮件将被发送给rainbow@rainbow.linuxfane.com 
没有这两个文件的时候,那么发送给postmaster@me文件中的域名 

envnoathost 
qmail-send用来给没有主机名的邮件收件人制定一个主机名的,通常这个文件并没有必要,qmail-send 
总是使用me文件中的域名。 

locals 
用来为qmail指明位于本地的邮件地址。qmail-send利用此文件来判断收件人地址是否是一个本地地址。 
例如:locals文件中写有rainbow.linuxfane.com 
那么qmail-send检测到队列中有发送给@rainbow.linuxfane.com的邮件的时候,就会调用qmail-lspawn 
来进行本地投送。 

me 
如果没有me文件,那么你的qmail将拒绝执行。me文件用来指定本地邮件服务器的主机名。 
以上列出的许多控制文件在没有被创建的时候,qmail都会用me中的值来代替。 

percenthack 
在UUCP协议中带有%并在该文件中列出的地址将会被转换为一个标准的DNS格式主机名。 

queuelifetime 
用来指定一个邮件在队列中的最大存活时间,默认是604800秒,当一个邮件达到这个时间线后,qmail将 
最后一次尝试发送这封邮件,如果依然失败,会将其从队列中删除。 

virtualdomains 
让qmail接受本地邮件以外,还接受该文件中指定的域或者邮件地址,就是常说的虚拟域支持。 
_________________________________________________________________ 
2.5 qmail-smtpd 
qmail-smtpd接受远程主机的邮件并转交给队列处理程序qmail-queue来处理。 

badmailfrom 
用来指定不喜欢的发件人的邮件地址或者是域名 
例如:badmailfrom中写有 
advt@msn.com 
@hotmail.com 
如果advt@msn.com给该邮件主机送信时,将得到code 553,告知其是一个不受欢迎的发件人。 
而所有来自hotmail.com的发件人也将得到同样的code 553。 

databytes 
用来指定该邮件服务器可以接受邮件的最大字节数。 
例如:databytes指定为8000000 
那么如果有人给该主机发送的邮件字节数超过了这个商业上默认的最大容忍限度,将得到code 552,告知 
其邮件大小超出了该邮件主机所能容忍的限度。 
恐怖的是,默认状态下,这个文件并没有,如果有人用你服务器上的两个不存在的地址作为FROM/TO发一 
个100M的邮件  

localiphost 
用来为使用ip来标示目的主机的邮件消息指定本地主机名的 
例如:rainbow.linuxfane.com的ip地址为198.17.1.2 | localiphost内容为rainbow.linuxfane.com 
那么一封发送给rainbow@[198.17.1.2]的邮件的地址会被转换为rainbow@rainbow.linuxfane.com 

rcpthosts | morercpthosts 
这两个文件用来指定qmail可以接收的除本地主机名外的其他域名 
他们的作用是相同的,不过因为rcpthosts中的域名不能超过50行,所以才出现了morercpthosts文件 

timeoutsmtpd 
用来指定qmail-smtpd等待远程SMTP主机发送数据的时间线。默认的情况下,如果连接建立后1200秒内没有 
接受到远程SMTP主机的任何信息,那么将关闭这个连接。 

smtpgreeting 
用来指定SMTP连接的欢迎标志 
例如:smtpgreeting值为 welcome connect to out open relay mail server - ad.rainbow.linuxfane.com 
那么建立一个smtp连接的时候将会看到如下信息: 
Trying 198.17.x.x... 
Connected to ad.rainbow.linuxfane.com. 
Escape characteris ^]. 
220 welcome connect to out open relay mail server - ad.rainbow.linuxfane.com ESMTP

 xiaotuhzb 回复于:2003-07-15 10:16:50
老大!怎么编辑databytes 文件呢?能给一个例子吗?

 kdyi 回复于:2003-07-24 15:27:54
有没有badmailto文件?
打补丁可以控制一些不能发送到的EMAIL地址
看到qregex.patch里面有说

 cnrainbow 回复于:2003-09-05 17:32:43
哈,以前的老帖子居然在这里有啊。
我发在linuxbyte上的,好久了都。
qmailqmailqmailqmail
当时我没打补丁,只是解释了最标准的qmail的配置文件。
关于补丁的配置文件,大家谁有就补上来吧。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网