- 主题:[SMTH_BBS] sendmail + mail2bbs 我是菜鸟~:)
捣鼓了几个通宵,终于吧mail2bbs搞定:)
中间的曲折和大家分享一下.
发现其实很多东西大牛们早就写过了~只要认真找一下就可以解决问题了~
感谢 atppp stid Czz flyriver 等等大牛
环境 rhadv3 + sendmail.8.13.3.tar.gz + smth_bbs 1.10 cvs
1 安装sendmail.8.13.3.tar.gz,简略写命令
tar xvfz sendmail.8.11.4.tar.gz
cd sendmail-8.11.4
cd sendmail
./Build
cd /src/sendmail-8.11.4/cf/cf/
cp ./generic-linux.mc ./sendmail.mc
./Build sendmail.cf
cd /src/sendmail-8.11.4/sendmail
./Build install
生成配置文件:
vi /etc/mail/access 这里面写你允许转发的ip
makemap hash access.db < access
vi /etc/mail/local-host-names 你使用的域名~需要mx的哦~
touch /etc/mail/aliases
newaliases
sendmail搞定~~~~~
2 配置sendmail.cf.一共需要四处修改
Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL,
T=DNS/RFC822/X-Unix,
A=procmail -Y -a $h -d $u
Mprog, P=/bin/sh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, D=$z:/,
T=X-Unix/X-Unix/X-Unix,
A=sh -c $u
+Mbbsmail, P=/home/bbs/bin/bbsmail, F=lsSDFMuhP, S=10, R=20,
+ A=bbsmail -d $u
# else we must be a local name
R$* $@ $>Canonify2 $1
+R$+.bbs $#bbsmail $: $1 bbsmail gateway
Sparse=0
R$* $: $>Parse0 $1 initial parsing
+R$+.bbs<@$=w.> $#bbsmail $: $1 bbs mail gateway 这里要注意顺序,顺序错了貌似收不到~
+R$+.board<@$=w.> $#bbsmail $: $1 bbs mail gateway
R<@> $#local $: <@> special case error msgs
R$* $: $>ParseLocal $1 handle local hacks
R$* $: $>Parse1 $1 final parsing
# handle locally delivered names
R$=L $#local $: @ $1 special local names
+R$+.bbs $#bbsmail $: $1 bbs mail gateway
+R$+.board $#bbsmail $: $1 bbs mail gateway
R$+ $#local $: $1 regular local names
全部修改好以后启动sendmail,用下面的命令测试一下~
/usr/lib/sendmail -bt
3,0 houzl.bbs
如果你设置正确,则会在最后几行显示为:
Parse1 input: houzl . bbs
Parse1 returns: $# bbsmail $: houzl
parse returns: $# bbsmail $: houzl
这就说明你的sendmail.cf基本搞定
3 修改mail2bbs中的文件
3.1 bbsmail
$bbsuid=501;
$bbsgid=501;
$mail2bbs="/home/bbs/bin/mail2bbs";
require "/home/bbs/bin/mailgate.pl"; 写的很清楚~改成自己的就可以了
3.2
- if ($1)$Header{$1} = $2;
- if ($3)$Header{$3} = $4;
- if ($5)$Header{$5} = $6;
+ if ($1){$Header{$1} = $2;}
+ if ($3){$Header{$3} = $4;}
+ if ($5){$Header{$5} = $6;}
4 一切搞定~启动sendmail就好了~~~~~~
--
FROM 202.115.112.*
Redhat 7.3 smthbbs 1.2.1 stable 没有 bbsmail 和maingate.pl,抓的cvs下的这个
参考了下改了改,呵呵,版面上的文章对着修改都没成功,最后按照你这个改才发现和atppp以前发的一个diff是一样的
不过 发现 /usr/lib/sendmail -bt 只能翻译 bird.bbs
类似bird.bbs@bbs.csu.edu.cn的不行
> 3,0 bird.bbs@bbs.csu.edu.cn
canonify input: bird . bbs @ bbs . csu . edu . cn
Canonify2 input: bird . bbs < @ bbs . csu . edu . cn >
Canonify2 returns: bird . bbs < @ bbs . csu . edu . cn . >
canonify returns: bird . bbs < @ bbs . csu . edu . cn . >
parse input: bird . bbs < @ bbs . csu . edu . cn . >
Parse0 input: bird . bbs < @ bbs . csu . edu . cn . >
Parse0 returns: bird . bbs < @ bbs . csu . edu . cn . >
ParseLocal input: bird . bbs < @ bbs . csu . edu . cn . >
ParseLocal returns: bird . bbs < @ bbs . csu . edu . cn . >
Parse1 input: bird . bbs < @ bbs . csu . edu . cn . >
Mailertable input: < bbs . csu . edu . cn > bird . bbs < @ bbs . csu . edu . cn . >
Mailertable input: bbs . < csu . edu . cn > bird . bbs < @ bbs . csu . edu . cn . >
Mailertable input: bbs . csu . < edu . cn > bird . bbs < @ bbs . csu . edu . cn . >
Mailertable input: bbs . csu . edu . < cn > bird . bbs < @ bbs . csu . edu . cn . >
Mailertable returns: bird . bbs < @ bbs . csu . edu . cn . >
Mailertable returns: bird . bbs < @ bbs . csu . edu . cn . >
Mailertable returns: bird . bbs < @ bbs . csu . edu . cn . >
Mailertable returns: bird . bbs < @ bbs . csu . edu . cn . >
MailerToTriple input: < > bird . bbs < @ bbs . csu . edu . cn . >
MailerToTriple returns: bird . bbs < @ bbs . csu . edu . cn . >
Parse1 returns: $# esmtp $@ bbs . csu . edu . cn . $: bird . bbs < @ bbs . csu . edu . cn . >
parse returns: $# esmtp $@ bbs . csu . edu . cn . $: bird . bbs < @ bbs . csu . edu . cn . >
diff是这个
--- sendmail.cf.bak Sun Jan 16 21:35:26 2005
+++ sendmail.cf Mon Jan 17 00:00:37 2005
@@ -605,6 +605,7 @@
# else we must be a local name
R$* $@ $>Canonify2 $1
+R$+.bbs $#bbsmail $:$1 bbsmail gateway
################################################
@@ -699,6 +700,7 @@
Sparse=0
R$* $: $>Parse0 $1 initial parsing
+R$+.bbs<@$=w.> $#bbsmail $:$1 bbs mail gateway
R<@> $#local $: <@> special case error msgs
R$* $: $>ParseLocal $1 handle local hacks
R$* $: $>Parse1 $1 final parsing
@@ -794,6 +795,7 @@
# handle locally delivered names
R$=L $#local $: @ $1 special local names
+R$+.bbs $#bbsmail $:$1 bbs mail gateway
R$+ $#local $: $1 regular local names
###########################################################################
@@ -1492,4 +1494,4 @@
Mprog, P=/usr/sbin/smrsh, F=lsDFMoqeu9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, D=$z:/,
T=X-Unix/X-Unix/X-Unix,
A=smrsh -c $u
-
+Mbbsmail, P=/home/bbs/bin/bbsmail,F=lsSDFMuhP,S=10,R=20,A=bbsmail -d $u
【 在 houzl (无名之枫) 的大作中提到: 】
: 捣鼓了几个通宵,终于吧mail2bbs搞定:)
: 中间的曲折和大家分享一下.
: 发现其实很多东西大牛们早就写过了~只要认真找一下就可以解决问题了~
: ...................
--
FROM 218.196.69.*
而且发现也不能发信,比如我本机发给 bird.bbs
收不到,log里的日志为
Jan 17 01:01:50 CSUBBS sendmail[20705]: j0GGkKB20582: to=<bird.bbs@localhost.localdomain>, ctladdr=<bbs@localhost.localdomain> (500/500), delay=00:15:30, xdelay=00:00:00, mailer=bbsmail, pri=120288, dsn=5.3.0, stat=unknown mailer error 255
Jan 17 01:01:50 CSUBBS sendmail[20705]: j0GGkKB20582: j0GH1oG20705: DSN: unknown mailer error 255
Jan 17 01:01:50 CSUBBS sendmail[20705]: j0GH1oG20705: to=<bbs@localhost.localdomain>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30127, dsn=2.0.0, stat=Sent
我bbsmail maingate.pl mail2bbs都放好在~/bin/目录下了,chmod了,不过还是不懂
【 在 cnbird (阿七) 的大作中提到: 】
: Redhat 7.3 smthbbs 1.2.1 stable 没有 bbsmail 和maingate.pl,抓的cvs下的这个
: 参考了下改了改,呵呵,版面上的文章对着修改都没成功,最后按照你这个改才发现和atppp以前发的一个diff是一样的
: 不过 发现 /usr/lib/sendmail -bt 只能翻译 bird.bbs
: ...................
--
FROM 218.196.69.*
我就是按照atppp和stid写的改的~~~~
嘿嘿
至于sendmail那个实在是搞不清楚~
只是能正常跑起来了~
至于是为什莫就不知道了~
嘿嘿
【 在 cnbird (阿七) 的大作中提到: 】
: Redhat 7.3 smthbbs 1.2.1 stable 没有 bbsmail 和maingate.pl,抓的cvs下的这个
: 参考了下改了改,呵呵,版面上的文章对着修改都没成功,最后按照你这个改才发现和atppp以前发的一个diff是一样的
: 不过 发现 /usr/lib/sendmail -bt 只能翻译 bird.bbs
: ...................
--
FROM 202.115.112.*
我按stid改的是不行的,很多地方不同啊
尤其这个stid改的这个 (4) 修改short cut
你和atppp改的地方就不是这里
【 在 houzl (无名之枫) 的大作中提到: 】
: 我就是按照atppp和stid写的改的~~~~
: 嘿嘿
: 至于sendmail那个实在是搞不清楚~
: ...................
--
FROM 218.196.69.*
好麻烦呀sendmail..
【 在 cnbird (阿七) 的大作中提到: 】
: 我按stid改的是不行的,很多地方不同啊
: 尤其这个stid改的这个 (4) 修改short cut
: 你和atppp改的地方就不是这里
: ...................
--
FROM 219.224.186.149
atppp貌似没有写short cut
【 在 cnbird (阿七) 的大作中提到: 】
: 我按stid改的是不行的,很多地方不同啊
: 尤其这个stid改的这个 (4) 修改short cut
: 你和atppp改的地方就不是这里
: ...................
--
FROM 202.115.112.*
恩,stid和atppp修改的不同是
stid修改 short cut
而atppp修改 handle locally delivered names
【 在 houzl (无名之枫) 的大作中提到: 】
: 标 题: Re: [SMTH_BBS] sendmail + mail2bbs 我是菜鸟~:)
: 发信站: BBS 水木清华站 (Mon Jan 17 21:49:13 2005), 转信
:
: atppp貌似没有写short cut
: 【 在 cnbird (阿七) 的大作中提到: 】
: : 我按stid改的是不行的,很多地方不同啊
: : 尤其这个stid改的这个 (4) 修改short cut
: : 你和atppp改的地方就不是这里
: : ...................
:
: --
:
: ※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.115.112.*]
--
FROM 218.196.69.*
配置不成功诶
通过163测试向bbs发信,收到了退信
The original message was received at Sun, 20 Apr 2008 04:08:18 +0800
from m13-53.163.com [220.181.13.53]
----- The following addresses had permanent fatal errors -----
<leekie.bbs@xxx.3322.org>
----- Transcript of session follows -----
Subroutine parse_header redefined at /home/bbs/bin/mailgate.pl line 43.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 67, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 68, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 67, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 68, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 67, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 68, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 67, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 68, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 67, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 68, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 67, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 68, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 67, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 68, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 67, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 68, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 50, <STDIN> line 40.
Use of uninitialized value in string eq at /home/bbs/bin/mailgate.pl line 51, <STDIN> line 40.
Use of uninitialized value in string eq at /home/bbs/bin/mailgate.pl line 51, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 66, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 68, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 67, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 68, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 67, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 68, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 67, <STDIN> line 40.
Use of uninitialized value in hash element at /home/bbs/bin/mailgate.pl line 68, <STDIN> line 40.
Use of uninitialized value in pattern match (m//) at /home/bbs/bin/mailgate.pl line 73, <STDIN> line 40.
Use of uninitialized value in pattern match (m//) at /home/bbs/bin/mailgate.pl line 73, <STDIN> line 40.
Use of uninitialized value in index at /home/bbs/bin/mailgate.pl line 79, <STDIN> line 40.
Use of uninitialized value in pattern match (m//) at /home/bbs/bin/mailgate.pl line 80, <STDIN> line 40.
Use of uninitialized value in concatenation (.) or string at /home/bbs/bin/mailgate.pl line 84, <STDIN> line 40.
Use of uninitialized value in string eq at /home/bbs/bin/bbsmail line 130, <STDIN> line 40.
Invalid From!
Mail to -d
554 5.3.0 unknown mailer error 255
【 在 houzl (无名之枫) 的大作中提到: 】
: 捣鼓了几个通宵,终于吧mail2bbs搞定:)
: 中间的曲折和大家分享一下.
: 发现其实很多东西大牛们早就写过了~只要认真找一下就可以解决问题了~
: ...................
--
修改:leekie FROM 211.151.248.*
FROM 211.151.248.*
那个脚本写的比较烂,自己写个得了。。
【 在 leekie (小八喜) 的大作中提到: 】
: 配置不成功诶
: 通过163测试向bbs发信,收到了退信
: The original message was received at Sun, 20 Apr 2008 04:08:18 +0800
: ...................
--
FROM 124.64.81.*