邮件服务器-邮件系统-邮件技术论坛(BBS)

标题: ESMTP登陆问题 问题有点难度,请教高人!!!已完成,结贴 [打印本页]

作者: wmhnzz    时间: 2008-12-15 17:35
标题: ESMTP登陆问题 问题有点难度,请教高人!!!已完成,结贴
我在手持机上(ARM无操作系统)使用GPRS模块进行邮件收发,首先与邮件服务器建立连接,然后发EHLO指令到服务器,这时问题就来了。当我在国内发EHLO WenMin 的时候,使用国内的SIM卡的回复是:   
   250-mxh3.hichina.com Hello WenMin
   250-SIZE 52428800
   250-8BITMIME
   250-PIPELINING
   250-AUTH=LOGIN
   250-AUTH LOGIN
   250 HELP
在肯尼亚,用他们当地的sim卡的时候回复是:
   250-scanner.ke.celtel.com Hello WenMin [41.223.57.78], pleased to meet you
   250-PIPELINING
   250-SIZE 100000000
   250-8BITMIME
   250 HELP
很明显的是国内支持AUTH LOGIN 这种密码验证方式,这样导致我做出的手持机在国内可以发送邮件,但是在国外就不行了。因为我的程序就是采用AUTH LOGIN登陆的。我的问题有2个:
1、为什么同样都是连接同一个SMTP服务器,而且都是国内的,却有不同的返回,我本来怀疑是移动网络有限制,但是肯尼亚SIM卡的移动服务提供商说已经给我们的卡开放了SMTP功能,而且没有作任何限制。
2、如果不用AUTH LOGIN进行验证,根据在肯尼亚得到的EHLO命令的回复,我改采用何种方式登陆SMTP服务器并发送邮件呢。
      请大侠,高手们指教,将不胜感激,能解决问题2就好。

[ 本帖最后由 wmhnzz 于 2008-12-18 09:58 编辑 ]
作者: tdk    时间: 2008-12-15 22:27
继续手动输入
auth login
或者
auth plain试试看有什么反应
作者: wmhnzz    时间: 2008-12-16 08:45
标题: 多谢解答,但是手动输入不行
报错,错误号是500 Syntax error, command unrecognized,命令不能识别
作者: tdk    时间: 2008-12-16 08:54
标题: 回复 3楼 wmhnzz 的帖子
如果输入命令后直接返回5xx错,怀疑和防火墙有关了
作者: wmhnzz    时间: 2008-12-16 09:00
标题: 我的是在手持机上发送的
没有用操作系统,所有的代码都是自己写的,不存在防火墙的问题,
多谢你的持续帮助。
作者: wmhnzz    时间: 2008-12-16 09:42
标题: 再次请教tdk和各位大侠, 我尝试不使用AUTH LOGIN,不验证用户名和密码(PIPELINING)
直接进行发送 Mail from,RCPT TO,DATA,指令回复都正常
当我从肯尼亚发出邮件正文并以 <CRLF>.<CRLF>结束的时候,GPRS模块回复OK表示它已发送出去,但是SMTP服务器没有回复,
国外的回复只有
send ok              (此为GPRS)
在国内正常的回复是
send ok              (此为GPRS模块的回复)
250 OK S5181663AbYLJH4x message accepted ,  (此为邮件服务器的回复)
请问:
1、当使用PIPELINING(管道)模式的时候,是否真的不需要AUTH LOGIN 以及密码和用户名的验证?
2、邮件服务器在回复我的EHLO指令时,给出的信息只有
250-PIPELINING
250-SIZE 100000000
250-8BITMIME
250 HELP
回复中只有PIPELINING告诉我们可以用管道模式批量发送指令,但是都不支持AUTH LOGIN, PLAIN,MD5,NTLM等等验证模式,那我后续该如何进行才能发送出邮件?

[ 本帖最后由 wmhnzz 于 2008-12-16 09:43 编辑 ]
作者: tdk    时间: 2008-12-16 09:46
标题: 回复 5楼 wmhnzz 的帖子
我说的是 电信之间应该有的防火墙
我也只是猜测
只看你提供的那两段代码,我看不出问题,感觉这都是正常的回馈信息
问题是接下来的信息会怎样
你看这是我的一个服务器回馈,感觉有问题吗?
250-AUTH CRAM-MD5 PLAIN LOGIN DIGEST-MD5 NTLM
250-SIZE 31457280
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-PIPELINING
250-ETRN
250-DSN
250 HELP
作者: tdk    时间: 2008-12-16 09:47
如果输入 auth login
我的返回
334 VXNlcm5hbWU6
作者: wmhnzz    时间: 2008-12-16 09:51
标题: 你的回复很正常,
几乎支持所有的验证模式,包括最复杂的TLS
作者: tdk    时间: 2008-12-16 09:58
标题: 回复 9楼 wmhnzz 的帖子
所以我也不太明白你为什么会是
5xx 错误
我只是在telnet cisco防火墙后面的邮件服务器时候,遇到过类似问题
有些命令会莫名的不备支持了,绕过防火墙就没问题 呵呵
作者: wmhnzz    时间: 2008-12-16 09:59
标题: auth login 得到334响应也是正常,
服务器提示下一步操作为输入邮件账号,但是我在肯尼亚发这个指令就得到 500号错误
另外肯尼亚移动服务提供商也保证没有作任何限制,我发了一个英文版的FOXMAIL 给我的客户,用FOXMAIL从PC上也不能发出来,我仔细研究过FOXAIL的发送模式,不进行特殊设置就一定走AUTH LOGIN,走TLS要设置,没有根据EHLO的反馈自动选择验证模式。所以我确定AUTH LOGIN走不通。但是我的客户从他的手机,通过手机的GPRS,用我提供的EMAIL账号,走我们国内的SMTP服务器,发送邮件给我成功,这表明,走GPRS访问我们的服务器,使用我们邮件账号在肯尼亚是可行的,遗憾的是无法得知他手机走的什么模式
多谢TDK的热心帮助,我的QQ 410746955,可以的话请加我,还有其它大侠与高人,也期望能不吝指教,即使没有过同类情况也欢迎一起探讨

[ 本帖最后由 wmhnzz 于 2008-12-16 10:03 编辑 ]
作者: tdk    时间: 2008-12-16 10:23
标题: 回复 11楼 wmhnzz 的帖子
那你看一下服务器smtp日志,是否能有更多信息
不要太客气,我也不太懂
一起进步吧

你说的那个客户用什么客户端?也在肯尼亚?
你在肯尼亚pc上用什么客户端可行?你的邮件服务器是啥?
我印象中foxmail好像可以设置认证方式? 记不太清楚了..
作者: tdk    时间: 2008-12-16 10:28
想起来了,不是foxmail 是opera浏览器中内置的邮件客户端支持更改
认证方式,你可以下一个试试看能否找到适合的方法
作者: wmhnzz    时间: 2008-12-16 10:48
标题: 回复 12楼 tdk 的帖子
我的客户就是在肯尼亚,他在他的手机上用GPRS,走我们的SMTP服务器可以发邮件给我
估计他的手机是LINUX或wince的操作系统,至于客户端软件则不知道,
我们的邮件服务器是公司的服务器mail.elko-intl.com.
foxmail只支持AUTH LOGIN 以及SSL(TLS模式的前身)两种模式,SSL模式需要在高级选项中设置。
作者: tdk    时间: 2008-12-16 11:19
标题: 回复 14楼 wmhnzz 的帖子
最好隐去真实的域名和ip
我是想了解一下是什么服务器 比如exchange md postfix等
作者: wmhnzz    时间: 2008-12-18 09:57
标题: 终于搞定,谢谢各位的帮助!
换了个SMTP服务器,而且发现 在国外使用SMTP,走PIPELINING 模式,真的不用AUTH LOGIN 不用 验证账号名和密码。
作者: tdk    时间: 2008-12-18 14:19
标题: 回复 16楼 wmhnzz 的帖子
不容易 呵呵
很多东西还要跟你学些阿
但是我没有明白11楼你说的那个客户为什么可以呢
作者: Freemikej    时间: 2008-12-19 17:00
我看了2位大侠的讨论,有一点困惑了,对用户帐号和密码的验证难道不是由服务器控制的吗?为什么使用管道模式在国外和国内同时出现了一边需要验证一边不需要验证...
作者: wenjun    时间: 2008-12-20 00:26
只来看,没可以发表的余地,我太菜了!
作者: lijingen    时间: 2009-7-7 17:12
,太菜了,听天书啊




欢迎光临 邮件服务器-邮件系统-邮件技术论坛(BBS) (http://5dmail.cn/bbs/) Powered by Discuz! X3.2