免费注册 查看新帖 |

Chinaunix

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

[Mail] xxjoyjn (爱神)请进,SMTP认证问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-06-26 17:31 |只看该作者 |倒序浏览
系统环境:

LINUX AS 4+ QMAIL+VPOPMAIL+MYSQL+QMAILADMIN

问题描述:
我在局域网中的任意一台机器上的OE上新建任意账号,邮件服务器指向我的QMAIL服务器,如果我不选中"我的服务器需要身份验证",那么我可以将邮件发给任何人,第一次会收到失败的提示,重试就会成功发送,如果选中"我的服务器需要身份验证",则所有的非法邮件都不能发出!

我在外网如果新建任意账号,邮件服务器指向我的QMAIL服务器,如果不选中"我的服务器需要身份验证",都会主动弹出对话框提示此账户在服务器上存在,叫我输入新的用户名与密码!

初步结论:
我的SMTP验证在内网没有作用,起作用的只是要求进行身份验证的用户,而没有要求身份验证的用户则不会作任何验证!

请xxjoyjn 关注!谢谢!

下面是我的设置信息与日志信息:
----------------------------------------------------------------------------
RCPTHOSTS:

[root@localhost control]# pwd
/var/qmail/control
[root@localhost control]# cat rcpthosts
mail.mydomain.com
mydomain.com
man.mydomain.com
[root@localhost control]# cat /home/vpopmail/etc/tcp.smtp
127.0.0.1:allow,RELAYCLIENT=""
192.168.200.:allow,RELAYCLIENT=""
:allow
[root@localhost control]# rpm -q qmail-smtpd-auth
package qmail-smtpd-auth is not installed
[root@localhost control]# rpm -q cmd5checkpw
package cmd5checkpw is not installed
[root@localhost control]# rpm -q *qmail-smtpd-auth*
package *qmail-smtpd-auth* is not installed
[root@localhost control]# rpm -q cmd5checkpw*
package cmd5checkpw* is not installed


下面是在局域网中设置未知账号且未选中" 我的服务器需要身份验证"发送邮件成功的日志:
[root@localhost smtpd]# tai64nlocal < current | grep 'tt@xxx.com'
2006-06-26 16:54:05.253449500 CHKUSER accepted rcpt: from <tt@xxx.com::> remote <mtcwinxp:unknown:192.168.200.15> rcpt <zhang_huajun@mydomain.com> : found existing recipient

你在
http://bbs.chinaunix.net/viewthr ... page%3D1#pid5112829

中的说要安装两个包才能完成SMTP认证的安装,可是这两个包我怎么也没有找到,我用许靖的文档安装包中找到了一个qmail-smtpd-auth-0.5.6.tar.gz,不知和你的qmail-smtpd-auth-0.26.tar.gz是否只有版本上的区别?另外一个kpw-0.22.tar.gz  压根没找到!是否能再提供一个连接呢?

请各位关注,谢谢!

论坛徽章:
0
2 [报告]
发表于 2006-06-26 18:17 |只看该作者

回复 1楼 zhanghj_ok 的帖子

更正:
我在外网如果新建任意账号,邮件服务器指向我的QMAIL服务器,如果不选中"我的服务器需要身份验证",都会主动弹出对话框提示此账户在服务器上存在,叫我输入新的用户名与密码!

上述的提示也只是第一次发信时出现一次,重试后就可以对服务器中所有域内用户发送邮件!但是不能向外域发送邮件,如发给163是不被允许的!

请求帮助!!!

论坛徽章:
0
3 [报告]
发表于 2006-06-26 20:23 |只看该作者
不知道你的具体安装过程,所以不好说,不过要注意以下几点:
1 chmod 6755 /home/vpopmail/bin/vchkpw
2 SMTP启动脚本里,要加域名:...../var/qmail/bin/smtpd your.domain.com........
  这个域名是指你的虚拟域名而不是主机名
3 如果还是不行,建议重新编译SMTPD,使用另外一个验证补丁,http://gadfly.shanji.com/qmail-smtpd/qmail-smtpd.c.注意,在使用这个补丁的时候,SMTP的启动脚本里不要加域名

论坛徽章:
0
4 [报告]
发表于 2006-06-27 00:18 |只看该作者
按照三楼xxjoyjn的修改意见,我修改如下,得到的效果是非法用户还是可以通过指定的我的服务器向域内(所有服务器上的虚拟域)用户发送邮件,但是不能再向外面的服务器发送任何邮件!不知是否为一种进步!!

我有两个域mydomain.com man.mydomain.com,以下是我更改的地方

[root@localhost qmail-smtpd]# ls -al /home/vpopmail/bin/vchk*
-rwsr-sr-x  1 vpopmail vchkpw 61272 Apr 16 17:59 /home/vpopmail/bin/vchkpw
-rwx--x--x  1 vpopmail vchkpw 61272 Jun 26 22:23 /home/vpopmail/bin/vchkpw.bak
[root@localhost qmail-smtpd]#

[root@localhost qmail-smtpd]# pwd
/var/qmail/supervise/qmail-smtpd
[root@localhost qmail-smtpd]# cat run
#!/bin/sh
QMAILDUID=`id -u vpopmail`
NOFILESGID=`id -g vpopmail`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
exec /usr/local/bin/softlimit -m 8000000 \
    /usr/local/bin/tcpserver -v -H -R -l 0 \
    -x /home/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD" \
    -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \
    /var/qmail/bin/qmail-smtpd \
    /home/vpopmail/bin/vchkpw /bin/true 2>&1
    /var/qmail/bin/smtpd mydomain.com
    /var/qmail/bin/smtpd man.mydomain.com

论坛徽章:
0
5 [报告]
发表于 2006-06-27 09:01 |只看该作者
恭喜你,你的SMTP认证已经安装成功了,不过SMTP认证对本域是不做验证的,要限制本域
只能靠垃圾邮件防患措施了.

论坛徽章:
0
6 [报告]
发表于 2006-06-27 09:07 |只看该作者
不过你说的"不能向外面的邮箱发送任何邮件",我觉得还是有点不正常啊,因为
rcpthosts,tcp.smtp.cdb有开放规则的
不可能不能向外面任何邮箱发送邮件,除非rcpthosts,tcp.smtp.cdb为空

[ 本帖最后由 xxjoyjn 于 2006-6-27 09:10 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2006-06-27 09:25 |只看该作者
"不能向外面的邮箱发送任何邮件",是指非法用户不能向外发邮件,

比如,我乱填一个用户,服务器指向我的QMAIL,这个用户以前是可以向外面发送邮件的,现在不行了,
aaa@xxx.com,此用户是不存在的,此域XXX也是不存在的,用我的QMAIL服务器向外发送邮件QMAIL会反馈如下信息:
Hi. This is the qmail-send program at mydomain.com.
I tried to deliver a bounce message to this address, but the bounce bounced!

<aaa@xxx.com>:
Sorry, no mailbox here by that name. vpopmail (#5.1.1)

如果用此非法用户向内域用户发邮件,就会成功发送,日志如下:
2006-06-27 09:20:40.951703500 CHKUSER accepted rcpt: from <aaa::> remote <mtcwinxp:unknown:192.168.200.15> rcpt <zhang_huajun@mydomain.com> : found existing recipient


烦请xxjoyjn 分析一下,谢谢啦!!!!!!!!

论坛徽章:
0
8 [报告]
发表于 2006-06-27 10:06 |只看该作者
SMTP启动脚本的最后两行中左边写的:/var/qmail/bin/smtpd, 是不是应该为:
/var/qmail/bin/qmail-smtpd,因为我在BIN目录下面并未找到这个smtpd,

论坛徽章:
0
9 [报告]
发表于 2006-06-27 10:29 |只看该作者
当然是/var/qmail/bin/qmail-smtpd

论坛徽章:
0
10 [报告]
发表于 2006-06-28 09:30 |只看该作者

还是不行,用新的qmail-smtpd.c也不行,编译出错

...
qmail-smtpd.c:558: error: `auto_qmail' undeclared (first use in this function)
qmail-smtpd.c:551: warning: return type of 'main' is not `int'
qmail-smtpd.c: At top level:
qmail-smtpd.c:533: warning: array 'smtpcommands' assumed to have one element
qmail-smtpd.c:101: error: storage size of `mapbmf' isn't known
qmail-smtpd.c:288: error: storage size of `qqt' isn't known
qmail-smtpd.c:361: error: storage size of `accept_buf' isn't known
qmail-smtpd.c:533: error: storage size of `smtpcommands' isn't known
make: *** [qmail-smtpd] Error 1


我的QMAIL版本号为:qmail-1.03.tar.gz
VPOPMAIL:vpopmail-5.4.10

能否提供相关的qmail-smtpd.c文件,三楼那个文件不能下载,我用的这个也不行
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP