发信人: shirock.bbs@dragon.seed.net.tw (游手好闲的石头成), 看板: FireBird_PUG
标 题: sendmail.cf 啊...
发信站: 种子网 BBS (Tue Dec 12 09:22:37 2000)
转信站: WD!Egg.twbbs.org!Dragon
【 在 Biboman (毕宝人) 的大作中提到: 】
: 【 在 edwardc (cutting edge) 的大作中提到: 】
: : why not add a .cf file how-to ?
: 这东西老早就包在 Firebird-30 里面,只是一堆人不会(或懒得)改,
: 所以每次有新版本就丢一个进去(而且只丢 FreeBSD 版-_-)。
: 可以考虑放到 ftp 上面,使用不同 OS 的人也可以 upload 上去适合
: 的 .cf 上去,看你有没有空放吧!等你放好就干掉现在那些 example
: 然後我会去改文件。
原文发表於:
http://tw.egroups.com/message/firebird-tip/12 ========================
How to set bbs mailer (for sendmail):
1.加上mailer
bbs的mailer,其作用和local的mailer差不多,都是要处理寄给本地
的信件,因此,请搜寻 Mlocal 字串,找到local的mailer设定,在其
底下加上bbs的mailer的设定。
bbs的mailer设定,只有 P, F, A 三个部份跟local的mailer设定不同,
其他地方请按照local的mailer设定。
P部份是mailer的完整档案名称(包含路径的部份)。
F部份则是此mailer所使用的旗标,请按该mailer的说明设定其需要的旗
标,如果没有特别说明,可按local的设定。
A部份则是传给mailer的参数,第一个参数一定是该mailer不含路径的档
案名称,其他参数请按该mailer的说明设定。
例如:
=================================
Mbbsmail, P=/bbs/bin/bbs.mailer, F=lsDFMShnu, S=??, R=??,
A=bbs.mailer $u, ?=??
=================================
2.修改信件投递规则(Rule Set 0)
因为要启动指定的mailer,所以按规定是要修改 rule set 0 (第零号规
则集合)。
需要加上两条规则:
===============================
R$+ . bbs [tab] $#bbsmail $: $1 [tab]注解:bbs mail gateway
# 处理本地寄到bbs 帐号的信, 收信人: xxxx.bbs
# 启动#bbsmail, 参数为第一个记号,即 xxxx (userid)
R$+ . bbs < @ $=w . > [tab] $#bbsmail $: $1 [tab] bbs mail
# 处理外地寄到bbs 帐号的信, 收信人: xxxx.bbs@local_domain
================================
注意,用 [tab] 的地方,表示必须用 tab 字元分隔,不是用space字元分隔。
FAQ:
Q: rule set 0 的规则实在很多,我到底要加在什麽地方?
A: 不一定,sendmail.cf的内容并不是一成不变的,甚至每种系统或每个
主机间都不一定会相同。
这里只提供一个要点给各位参考: 启动bbsmail的规则,其实和启动
local的规则一样,只是多了一个 .bbs 的地址内容。
因此可在sendmail.cf中,搜寻 $#local 字串,应该(一定)都会找到以
下两行规则:
======================
R$+ < @ $=w . > $#local $: $1
R$+ $#local $: $1
=======================
在那两行规则前,再加上bbsmail的规则即可。
Q: 如何知道修改是否成功?
A: 请利用 sendmail -bt 启动sendmail的测试模式,在其提示字元">"後,
输入: 0 <要测试的地址格式>
请测试下列六个地址格式是否皆能呼叫到正确的mailer
xxxx -> local
xxxx.bbs -> bbsmail
xxxx@remote_domain -> smtp
xxxx.bbs@remote_domain -> smtp
xxxx@local_domain -> local
xxxx.bbs@local_domain -> bbsmail
ps.remote_domain请输入任何一个远端主机或网域名称,而
local_domain请输入本地(local)主机或网域名称。
如:
============================
$ sendmail -bt -c /etc/sendmail.cf
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> 0 xxxx.bbs
rewrite: ruleset 0 input: xxxx . bbs
... 中间有多少规则不重要,只管最後结果即可。
rewrite: ruleset 0 returns: $# bbsmail $: xxxx
=============================
Q: 在测试时,我输入了本地的主机或网域名称,但仍然不会启动bbsmail?
A: 这是因为sendmail不知道你输入的主机或网域名称是本地的主机或
网域名称。
通常sendmail凭内部功能,就会得知本地主机的主机名称及网域名称,
但若本地主机有其他的网域名称(别名)时,则sendmail有时并不会知
道本地主机有这些别名。
请在sendmail.cf中,以指令C 设定类组w,加上主机的别名。
例如: 本地主机的网域名称为bbs.isu.edu.tw,别名有isu.twbbs.org及
isu.twbbs.org.tw,则可在sendmail.cf中,加上:
===================================
Cwisu.twbbs.org
Cwisu.twbbs.org.tw
===================================
参考文件:
1.manpage: sendmail(8)
2.Eric Allman: Sendmail - An Internetwork Mail Router
3.Eric Allman: Sendmail Installation and Operation Guide
--
The TIP Project
根基於 Firebird BBS 原始码的改进计划
Short URL:
http://fbtip.tsx.org/ Group:
http://www.egroups.com/list/firebird-tip Mailing list: firebird-tip@egroups.com
--
FROM 166.111.142.6