分享
 
 
 

qmail控制文件详解

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

这篇文档没有版权信息,可自由修改这份文档

这份文件将永远不会有完成的一天,请把你的问题以及成功的经验寄给我

这可以使它成为一份更好的说明文件,并且帮助更多人很好的使用它

如果你利用这篇文档实现了你期望的应用,请告诉大家,让我们分享你的喜悦

寻找此文档的最新版本或其他实用的技术文档请到搜索引擎查询关键字 "姚远方"

因为我的主页总是搬来搬去的

如果你想发信给我询问相关问题前请仔细再看一遍这篇文档,因为他经过了无数人的努力到现在

如果你想发信给我询问相关问题请表现相应的礼貌,并且我不能确定可以给你回复

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

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

QMAIL的官方站点:http://www.qmail.org/

我的信箱:yuanfang@mac.com / rainbow@0532.com

-----------------------------------------------------------------

[2002.06.03 姚远方 RainBow]

更新

添加一些难解项目的例子

添加smtpgreeting的纪录

写了备注

[2002.02.19 姚远方 RainBow]

做成

-----------------------------------------------------------------

[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:

如果idhost值为rainbow.linuxfane.com

那么邮件头中如下:

Message-ID:

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的邮件 :o

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

-----------------------------------------------------------------

No data

-----------------------------------------------------------------

去年NTP服务器,今年QMAIL。嘿嘿

也许是受到的传统教育那种条理分明的影响,也许是因为不是开发出身而对sendmail逻辑性极强的配置方法

望而生畏,我喜欢qmail这种各种设定都清晰明了的分别独立设定方式。

在多种可以免费得到的MTA中,模块化的qmail我认为应该有很多人喜欢,可惜实际看起来并不是这样;也许

和相关资料和支持难寻有关吧。毕竟网络界的前辈们都习惯了sendmail。而经验就是网络界的能力。像我这

种书童级的既然英文识不了几个的,如果想搞通这些就更是难上加难吧。接触qmail大概有2年时间了,这些

资料都是慢慢的收集和运用中记录下来的,希望对那些也在用qmail做应用的朋友们当作一个速查手册吧。

希望前辈们对其中的某些地方做一些详细的说明,毕竟如localiphost这种久远的邮件方式没有经验。

希望有人可以进行完善的项目还有percenthack等项目,因为UUCP我没有仔细研习过。

还有qmqpservers这项目以及QMQP协议也没有经验。

我准备做qmail.linuxfane.com的站点,一方面mirror qmail.org,一方面作qmail知识经验的传承和汇总。

文中一定错误百出,请不吝赐教。,

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有