LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 836|回复: 2

qmail实在太难搞了!!!求各路神仙帮我看看,smtp验证怎么实现!!!

[复制链接]
发表于 2003-6-11 22:19:34 | 显示全部楼层 |阅读模式
我的系统:
gentoo linux + qmail1-1.03 + ucspi-tcp-0.88 + daemontools-0.70 +
checkpassword-0.81 +  ezmlm-0.53 + vpopmail-4.9.6-1 + qmailadmin-0.35
+ autorespond-1.0.0 + qmail-smtpd-auth-0.31

一直实现不了smtp验证。
在邮件服务器所在的网段的任意一台机器上通过outlook express
往本域,外域发信都不需要smtp验证 就可以发

在外网上任意一台机器上通过outlook express
往本域,外域发信都不需要smtp验证 就可以发

用扫描器扫描我的邮件服务器,报警:
SMTP server allows relaying

在服务器的命令行用
telnet 0 25
打ehlo,显示:
250-perfwell.com
250-AUTH LOGIN CRAM-MD5 PLAIN
250-AUTH=LOGIN CRAM-MD5 PLAIN
250-PIPELINING
250 8BITMIME
表明有smtp验证
同时往外域发信,正常

但是!!!
若用telnet xxx.xxx.xxx.xxx(服务器IP地址) 25
往外域发信,报错:
553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)


我的smtp文件:
#start qmail server
bash -cf '/var/qmail/rc &'

#start virtual domain smtp service
exec /usr/local/bin/tcpserver -H -R -l 0 -t 1 -x \
/var/vpopmail/etc/tcp.smtp.cdb -c 100 -u 201 -g 200 0 smtp \
/var/qmail/bin/qmail-smtpd xxx.yyy \
/var/vpopmail/bin/vchkpw /bin/true 2>&1>/dev/null &

我的pop3文件:
#start virtual domain pop3 service
exec /usr/local/bin/tcpserver -q -l 0 -H -c 100 -R 0 pop-3 \
/var/qmail/bin/qmail-popup xxx.yyy /var/vpopmail/bin/vchkpw \
/var/qmail/bin/qmail-pop3d Maildir 2>&1 >/dev/null &

我的rcpthosts:
xxx.yyy
yyy

以上xxx代表机器名,yyy代表域名

在我的/var/vpopmail/etc/下有tcp.smtp
127.0.0.1:allow,RELAYCLIENT=""

那个rcpthosts里面的内容到底在smtp-auth下面有没有有用,有的说应该删除,有的又说不能删,还有的说要保留tcpthosts,可我没有这个文件呀??
rcpthosts里面的内容是表明服务器将此从此域名来的信转发还是转发往此域名去的信??

还有我用vpopmail,是不是应该
echo "127.0.01.:allow,RELAYCLIENT=""" > ~vpopmail/etc/tcp.smtp
同时
tcprules ~vpopmail/etc/tcp.smtp.cdb ~vpopmail/etc/tcp.smtp.tmp < ~vpopmail/etc/tcp.smtp
而此时,/etc/下面的tcp.smtp是不是就不起作用了???

希望各路神仙解答!!!
发表于 2003-6-11 23:23:08 | 显示全部楼层
qmail 虽然我没配过,但看提示:
“若用telnet xxx.xxx.xxx.xxx(服务器IP地址) 25
往外域发信,报错:
553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)”

说明你得 rcpthosts 文件里没包含 rcpt 接收者的域名,解决方法和其中具体的原因请看下文,希望对你有帮助。

http://www.linuxaid.com.cn/articles/7/0/706710723.shtml
 楼主| 发表于 2003-6-12 08:41:00 | 显示全部楼层
一个是telnet 0 25 一个是telnet xxx.xxx.xxx.xxx(服务器IP地址) 25
就有 这么大的区别呀,好了,我现在知道rcpthosts的意思了,就是当邮件接收者地址的域名存在于rcpthosts文件中时,才接受该邮件,


但这仍然不能解决,为什么不能做smtp验证啊,
还有,rcpthosts文件应不应该保留,是不是只需要在其中保留我邮件服务器的域名(表示所有发往本域的邮件接受,而不管发信是谁)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表