免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1607 | 回复: 7
打印 上一主题 下一主题

[Mail] 紧急求助:mailfilter文件错,请帮帮我! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-25 15:53 |只看该作者 |倒序浏览
大家好,我装邮件服务器(按xuke的Linux qmail安装指南2.9)后,配置mailfilter文件后发现语法错,我检查了,手工输入了文件内容,还是在else处出错,于是测试下面内容,发现也要在else处报错。

f ( $SIZE < 262144 )
{
   echo "test error!"
}
else
{
}


还有就是定义的变量VHOME和VSPAM好象就没生效(我去掉所有内容,只要VHOME=`/home/vpopmail/bin/vuserinfo -d $EXT@$HOST` 和 to "$VHOME/Maildir/." ,发现找不到邮件目录,echo $VHOME内容为空,而将该变量改为实际用户的该目录,就可以收到邮件了),请大家帮我看一下,搞了几天了,就是查不出错来。

下面为错误内容:

@40000000440008f11f91ac34 new msg 1482712
@40000000440008f11f91c3a4 info msg 1482712: bytes 3077 from <ldl@test.net> qp 4504 uid 503
@40000000440008f11fcb5dbc starting delivery 137: msg 1482712 to local test.net-ldl@test.net
@40000000440008f11fcb7144 status: local 1/10 remote 1/20
@40000000440008f1206841cc delivery 137: deferral: mailfilter(21):_Syntax_error./
@40000000440008f12068593c status: local 0/10 remote 1/20
@40000000440008f5203260d4 starting delivery 138: msg 1482782 to remote gsgsgsg@ss.com
@40000000440008f52032745c status: local 0/10 remote 2/20
@40000000440008f9203260d4 starting delivery 139: msg 1482666 to remote bifcisabc9@bttyy.eicp.net
@40000000440008f92032745c status: local 0/10 remote 3/20
@40000000440008f934ab064c delivery 139: deferral: Sorry,_I_wasn't_able_to_establish_an_SMTP_connection._(#4.4.1)/
@40000000440008f934ab1dbc status: local 0/10 remote 2/20
@40000000440008fc3476427c starting delivery 140: msg 1483123 to local test.net-webmaster@test.net
@40000000440008fc347659ec status: local 1/10 remote 2/20
@40000000440008fc351a17e4 delivery 140: deferral: mailfilter(21):_Syntax_error./
@40000000440008fc351a333c status: local 0/10 remote 2/20
@40000000440008fe350fb7a4 starting delivery 141: msg 1482707 to local test.net-lgx@test.net
@40000000440008fe350fcf14 status: local 1/10 remote 2/20
@40000000440008fe35ad14cc delivery 141: deferral: mailfilter(21):_Syntax_error./
@40000000440008fe35ad2c3c status: local 0/10 remote 2/20


下面为我的mailfilter文件内容:

VHOME=`/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`
VSPAM=`/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`
`test -d $VHOME/Maildir/`
if( $RETURNCODE != 0 )
{
echo "Sorry , but the user $EXT@$HOST dos not exist"
EXITCODE=77
exit
}
if ( $SIZE < 262144 )
{
exception {
xfilter "/usr/bin/spamc -f -u $EXT@$HOST"
}
}
if (/^X-Spam-Flag: YES/)
{
to "$VSPAM/Maildir/.Trash/."
EXITCODE=0
}
else
{
exception {
include $VHOME/.mailfilter
}
to "$VHOME/Maildir/."
}

[ 本帖最后由 scpe 于 2006-2-25 15:58 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-02-25 20:16 |只看该作者
试试
  1. if ( $SIZE < 262144 )
  2. {
  3.    echo "test error!"
  4.    exit
  5. }
  6. else
  7. {
  8.    exit
  9. }
复制代码

论坛徽章:
0
3 [报告]
发表于 2006-02-25 21:16 |只看该作者
难到要在EXITCODE=0 后加exit?我明天试试。

论坛徽章:
0
4 [报告]
发表于 2006-02-26 18:07 |只看该作者
找到变量VHOME和VSPAM好象就没生效的原因了,是因为我没有给vpopmail执行shell的权限。
改了后就可以了。
但现在还有问题,就是if语句好象不识别,这就不知道还要改哪个地方了。请大家指教。急死了。

[ 本帖最后由 scpe 于 2006-2-26 18:15 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2006-02-27 18:02 |只看该作者
up

论坛徽章:
0
6 [报告]
发表于 2006-02-27 19:04 |只看该作者
有没有人知道原因啊?

论坛徽章:
0
7 [报告]
发表于 2006-03-02 14:17 |只看该作者
现在问题还没有得到解决。进入死胡同了。

论坛徽章:
0
8 [报告]
发表于 2006-03-04 15:49 |只看该作者

哎,还是我自己解决了问题

我在Redhat linux AS 4下重新编译安装maildrop,然后将/usr/local/bin目录下的maildrop相关的文件(除maildrop)拷贝到Redhat linux 9下,这时要注意要备份原来的/usr/local/bin/maildrop文件,因为平台不同的原因吧,AS 4下的maildrop文件在9上不能用。这样就可以用了。真郁闷!
至今找不到原因,因为在9下安装没有报错,估计是9下的Perl包没有安装完的原因。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP