2004年05月14日 星期五 08:10
Frank Zheng,您好! 2.3已经支持LOGIN了,其实,只要改一下源代码,把PLAIN等于LOGIN就ok了。 开源软件已支持标准为主,非标准的,只有等等,或者自己改了,方正有源代码。 ======== 2004-05-13 16:39:33 您在来信中写道: ======== 是呀,我正有这个想法,只是觉得这么明显的问题,怎么以前没有人遇到过,还是人家国外的mail server跟咱们的都不一样。 ----- Original Message ----- From: 黎达文 To: python-chinese at lists.python.cn Sent: Thursday, May 13, 2004 4:06 PM Subject: 答复: [python-chinese] 一个关于smtplib的问题 既然代码都有了,改一下它的实现不就行啦?! 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] 代表 Frank Zheng 发送时间: 2004年5月13日 15:16 收件人: python-chinese at lists.python.cn 主题: [python-chinese] 一个关于smtplib的问题 smtplib是python自带的module,是封装了smtp,esmtp协议的模块 我试着用了一下,发现在验证用户名和密码的时候出了一些问题 下面是一些测试代码 >>> import smtplib >>> s = smtplib.SMTP() >>> s.set_debuglevel(1) >>> s.connect('smtp.263.net') connect: ('smtp.263.net', 25) connect: ('smtp.263.net', 25) reply: '220 Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326)\r\n' reply: retcode (220); Msg: Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326) connect: Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326) (220, 'Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326)') >>> s.login('hust_zxq524','*****') send: 'ehlo pc11\r\n' reply: '250-smtp.263.net\r\n' reply: '250-PIPELINING\r\n' reply: '250-SIZE 30720000\r\n' reply: '250-ETRN\r\n' reply: '250-AUTH LOGIN\r\n' reply: '250-AUTH=LOGIN\r\n' reply: '250-XVERP\r\n' reply: '250 8BITMIME\r\n' reply: retcode (250); Msg: smtp.263.net PIPELINING SIZE 30720000 ETRN AUTH LOGIN AUTH=LOGIN XVERP 8BITMIME AuthMethod: None Traceback (most recent call last): File "", line 1, in ? File "D:\tools\Python22\lib\smtplib.py", line 540, in login raise SMTPException("No suitable authentication method found.") SMTPException: No suitable authentication method found. 然后我看了smtplib的代码,发现它支持两种认证方式,"PLAIN" 和 "CRAM-MD5",采用哪种需要根据发EHLO 命令给mailserver后,server的回复信息来确定(见blue字部分), 所以有效的回复应该是: AUTH PLAIN CRAM-MD5 或者至少有一种。 而这里的AUTH LOGIN,我google了一下,发现某人说了这样一段话: "本质上AUTH PLAIN和AUTH LOGIN是一样的 用户名和口令都是base64编码的明文,只不过协议命令不一样罢了 因此要说他们的区别就必须知道SASL协议了: SASL协议里面并没有定义AUTH LOGIN,而是定义了与之相同的AUTH PLAIN 但偏偏Oultook自创AUTH LOGIN,谁让MS太NB,因此sasl的一些实现版本里面就有了AUTH LOGIN " 然后outlook在发邮件的时候是这样做的:(在发完ehlo命令以后) AUTH LOGIN 334 VXNlcm5hbWU6 (Base64解码后: Username:) Ymh3YW5n (Base64编码前: bhwang) 334 UGFzc3dvcmQ6 (Base64解码后: Password:) bXlwYXNzd29yZCFteXBhc3N3b3JkISE= (Base64编码前: ********) 235 Authentication successful 以上验证过程中都没有加密数据,:( 我试了好几个网站,263,sina,sohu都是这样的 这样看来smtplib这个模块是没法用了,我用的是2.2,不知道2.3怎么样? Frank Thanks _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese = = = = = = = = = = = = = = = = = = = = = = 致 礼! charles huang hyy at fjii.com 2004-05-14 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040514/cf5268b4/attachment.html
2004年05月14日 星期五 10:53
我下了python2.3.3,是支持login了,不过不是象你说的那么简单,PLAIN和LOGIN的命令序列不是一样的, PLAIN是一次把用户名密码都发给server,而login是先发用户名等回复再发密码,不同的 新的smtplib里面也是分开处理的 我试了263,不行,返回"error command order" sina的可以了,挺奇怪的 ----- Original Message ----- From: charles huang To: python-chinese at lists.python.cn Sent: Friday, May 14, 2004 8:10 AM Subject: Re: Re: [python-chinese] 一个关于smtplib的问题 Frank Zheng,您好! 2.3已经支持LOGIN了,其实,只要改一下源代码,把PLAIN等于LOGIN就ok了。 开源软件已支持标准为主,非标准的,只有等等,或者自己改了,方正有源代码。 ======== 2004-05-13 16:39:33 您在来信中写道: ======== 是呀,我正有这个想法,只是觉得这么明显的问题,怎么以前没有人遇到过,还是人家国外的mail server跟咱们的都不一样。 ----- Original Message ----- From: 黎达文 To: python-chinese at lists.python.cn Sent: Thursday, May 13, 2004 4:06 PM Subject: 答复: [python-chinese] 一个关于smtplib的问题 既然代码都有了,改一下它的实现不就行啦?! -------------------------------------------------------------------- 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] 代表 Frank Zheng 发送时间: 2004年5月13日 15:16 收件人: python-chinese at lists.python.cn 主题: [python-chinese] 一个关于smtplib的问题 smtplib是python自带的module,是封装了smtp,esmtp协议的模块 我试着用了一下,发现在验证用户名和密码的时候出了一些问题 下面是一些测试代码 >>> import smtplib >>> s = smtplib.SMTP() >>> s.set_debuglevel(1) >>> s.connect('smtp.263.net') connect: ('smtp.263.net', 25) connect: ('smtp.263.net', 25) reply: '220 Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326)\r\n' reply: retcode (220); Msg: Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326) connect: Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326) (220, 'Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326)') >>> s.login('hust_zxq524','*****') send: 'ehlo pc11\r\n' reply: '250-smtp.263.net\r\n' reply: '250-PIPELINING\r\n' reply: '250-SIZE 30720000\r\n' reply: '250-ETRN\r\n' reply: '250-AUTH LOGIN\r\n' reply: '250-AUTH=LOGIN\r\n' reply: '250-XVERP\r\n' reply: '250 8BITMIME\r\n' reply: retcode (250); Msg: smtp.263.net PIPELINING SIZE 30720000 ETRN AUTH LOGIN AUTH=LOGIN XVERP 8BITMIME AuthMethod: None Traceback (most recent call last): File "", line 1, in ? File "D:\tools\Python22\lib\smtplib.py", line 540, in login raise SMTPException("No suitable authentication method found.") SMTPException: No suitable authentication method found. 然后我看了smtplib的代码,发现它支持两种认证方式,"PLAIN" 和 "CRAM-MD5",采用哪种需要根据发EHLO 命令给mailserver后,server的回复信息来确定(见blue字部分), 所以有效的回复应该是: AUTH PLAIN CRAM-MD5 或者至少有一种。 而这里的AUTH LOGIN,我google了一下,发现某人说了这样一段话: "本质上AUTH PLAIN和AUTH LOGIN是一样的 用户名和口令都是base64编码的明文,只不过协议命令不一样罢了 因此要说他们的区别就必须知道SASL协议了: SASL协议里面并没有定义AUTH LOGIN,而是定义了与之相同的AUTH PLAIN 但偏偏Oultook自创AUTH LOGIN,谁让MS太NB,因此sasl的一些实现版本里面就有了AUTH LOGIN " 然后outlook在发邮件的时候是这样做的:(在发完ehlo命令以后) AUTH LOGIN 334 VXNlcm5hbWU6 (Base64解码后: Username:) Ymh3YW5n (Base64编码前: bhwang) 334 UGFzc3dvcmQ6 (Base64解码后: Password:) bXlwYXNzd29yZCFteXBhc3N3b3JkISE= (Base64编码前: ********) 235 Authentication successful 以上验证过程中都没有加密数据,:( 我试了好几个网站,263,sina,sohu都是这样的 这样看来smtplib这个模块是没法用了,我用的是2.2,不知道2.3怎么样? Frank Thanks -------------------------------------------------------------------- _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese = = = = = = = = = = = = = = = = = = = = = = 致 礼! charles huang hyy at fjii.com 2004-05-14 ------------------------------------------------------------------------------ _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040514/4b649428/attachment.htm
2004年05月14日 星期五 12:27
监测了一下outlook的数据,原来263身份验证的过程跟smtplib中的不一样,顺序是: AUTH LOGIN \r\n 334 USERNAME myusername 334 PASSWORD mypassword 而这个顺序连接sina的也可以 但是smtplib的命令顺序连263的不行,连sina的可以,看来还是得改成上面的顺序才行,微软还是牛啊 smtplib的顺序是: AUTH LOGIN myusername\r\n 334 PASSWORD mypassword 唉,开源的东东还是有些问题啊 ----- Original Message ----- From: Frank Zheng To: python-chinese at lists.python.cn Sent: Friday, May 14, 2004 10:53 AM Subject: Re: Re: [python-chinese] 一个关于smtplib的问题 我下了python2.3.3,是支持login了,不过不是象你说的那么简单,PLAIN和LOGIN的命令序列不是一样的, PLAIN是一次把用户名密码都发给server,而login是先发用户名等回复再发密码,不同的 新的smtplib里面也是分开处理的 我试了263,不行,返回"error command order" sina的可以了,挺奇怪的 ----- Original Message ----- From: charles huang To: python-chinese at lists.python.cn Sent: Friday, May 14, 2004 8:10 AM Subject: Re: Re: [python-chinese] 一个关于smtplib的问题 Frank Zheng,您好! 2.3已经支持LOGIN了,其实,只要改一下源代码,把PLAIN等于LOGIN就ok了。 开源软件已支持标准为主,非标准的,只有等等,或者自己改了,方正有源代码。 ======== 2004-05-13 16:39:33 您在来信中写道: ======== 是呀,我正有这个想法,只是觉得这么明显的问题,怎么以前没有人遇到过,还是人家国外的mail server跟咱们的都不一样。 ----- Original Message ----- From: 黎达文 To: python-chinese at lists.python.cn Sent: Thursday, May 13, 2004 4:06 PM Subject: 答复: [python-chinese] 一个关于smtplib的问题 既然代码都有了,改一下它的实现不就行啦?! ------------------------------------------------------------------ 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] 代表 Frank Zheng 发送时间: 2004年5月13日 15:16 收件人: python-chinese at lists.python.cn 主题: [python-chinese] 一个关于smtplib的问题 smtplib是python自带的module,是封装了smtp,esmtp协议的模块 我试着用了一下,发现在验证用户名和密码的时候出了一些问题 下面是一些测试代码 >>> import smtplib >>> s = smtplib.SMTP() >>> s.set_debuglevel(1) >>> s.connect('smtp.263.net') connect: ('smtp.263.net', 25) connect: ('smtp.263.net', 25) reply: '220 Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326)\r\n' reply: retcode (220); Msg: Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326) connect: Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326) (220, 'Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326)') >>> s.login('hust_zxq524','*****') send: 'ehlo pc11\r\n' reply: '250-smtp.263.net\r\n' reply: '250-PIPELINING\r\n' reply: '250-SIZE 30720000\r\n' reply: '250-ETRN\r\n' reply: '250-AUTH LOGIN\r\n' reply: '250-AUTH=LOGIN\r\n' reply: '250-XVERP\r\n' reply: '250 8BITMIME\r\n' reply: retcode (250); Msg: smtp.263.net PIPELINING SIZE 30720000 ETRN AUTH LOGIN AUTH=LOGIN XVERP 8BITMIME AuthMethod: None Traceback (most recent call last): File "", line 1, in ? File "D:\tools\Python22\lib\smtplib.py", line 540, in login raise SMTPException("No suitable authentication method found.") SMTPException: No suitable authentication method found. 然后我看了smtplib的代码,发现它支持两种认证方式,"PLAIN" 和 "CRAM-MD5",采用哪种需要根据发EHLO 命令给mailserver后,server的回复信息来确定(见blue字部分), 所以有效的回复应该是: AUTH PLAIN CRAM-MD5 或者至少有一种。 而这里的AUTH LOGIN,我google了一下,发现某人说了这样一段话: "本质上AUTH PLAIN和AUTH LOGIN是一样的 用户名和口令都是base64编码的明文,只不过协议命令不一样罢了 因此要说他们的区别就必须知道SASL协议了: SASL协议里面并没有定义AUTH LOGIN,而是定义了与之相同的AUTH PLAIN 但偏偏Oultook自创AUTH LOGIN,谁让MS太NB,因此sasl的一些实现版本里面就有了AUTH LOGIN " 然后outlook在发邮件的时候是这样做的:(在发完ehlo命令以后) AUTH LOGIN 334 VXNlcm5hbWU6 (Base64解码后: Username:) Ymh3YW5n (Base64编码前: bhwang) 334 UGFzc3dvcmQ6 (Base64解码后: Password:) bXlwYXNzd29yZCFteXBhc3N3b3JkISE= (Base64编码前: ********) 235 Authentication successful 以上验证过程中都没有加密数据,:( 我试了好几个网站,263,sina,sohu都是这样的 这样看来smtplib这个模块是没法用了,我用的是2.2,不知道2.3怎么样? Frank Thanks ------------------------------------------------------------------ _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese = = = = = = = = = = = = = = = = = = = = = = 致 礼! charles huang hyy at fjii.com 2004-05-14 ---------------------------------------------------------------------------- _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese ------------------------------------------------------------------------------ _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040514/cf9cd637/attachment.html
2004年05月14日 星期五 12:32
我刚才说微软牛,不是说他的outlook做的牛,而是他能强行推他的标准,让别人都得跟着他的改,厉害! ----- Original Message ----- From: Frank Zheng To: python-chinese at lists.python.cn Sent: Friday, May 14, 2004 12:27 PM Subject: Re: Re: [python-chinese] 一个关于smtplib的问题 监测了一下outlook的数据,原来263身份验证的过程跟smtplib中的不一样,顺序是: AUTH LOGIN \r\n 334 USERNAME myusername 334 PASSWORD mypassword 而这个顺序连接sina的也可以 但是smtplib的命令顺序连263的不行,连sina的可以,看来还是得改成上面的顺序才行,微软还是牛啊 smtplib的顺序是: AUTH LOGIN myusername\r\n 334 PASSWORD mypassword 唉,开源的东东还是有些问题啊 ----- Original Message ----- From: Frank Zheng To: python-chinese at lists.python.cn Sent: Friday, May 14, 2004 10:53 AM Subject: Re: Re: [python-chinese] 一个关于smtplib的问题 我下了python2.3.3,是支持login了,不过不是象你说的那么简单,PLAIN和LOGIN的命令序列不是一样的, PLAIN是一次把用户名密码都发给server,而login是先发用户名等回复再发密码,不同的 新的smtplib里面也是分开处理的 我试了263,不行,返回"error command order" sina的可以了,挺奇怪的 ----- Original Message ----- From: charles huang To: python-chinese at lists.python.cn Sent: Friday, May 14, 2004 8:10 AM Subject: Re: Re: [python-chinese] 一个关于smtplib的问题 Frank Zheng,您好! 2.3已经支持LOGIN了,其实,只要改一下源代码,把PLAIN等于LOGIN就ok了。 开源软件已支持标准为主,非标准的,只有等等,或者自己改了,方正有源代码。 ======== 2004-05-13 16:39:33 您在来信中写道: ======== 是呀,我正有这个想法,只是觉得这么明显的问题,怎么以前没有人遇到过,还是人家国外的mail server跟咱们的都不一样。 ----- Original Message ----- From: 黎达文 To: python-chinese at lists.python.cn Sent: Thursday, May 13, 2004 4:06 PM Subject: 答复: [python-chinese] 一个关于smtplib的问题 既然代码都有了,改一下它的实现不就行啦?! ---------------------------------------------------------------- 发件人: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] 代表 Frank Zheng 发送时间: 2004年5月13日 15:16 收件人: python-chinese at lists.python.cn 主题: [python-chinese] 一个关于smtplib的问题 smtplib是python自带的module,是封装了smtp,esmtp协议的模块 我试着用了一下,发现在验证用户名和密码的时候出了一些问题 下面是一些测试代码 >>> import smtplib >>> s = smtplib.SMTP() >>> s.set_debuglevel(1) >>> s.connect('smtp.263.net') connect: ('smtp.263.net', 25) connect: ('smtp.263.net', 25) reply: '220 Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326)\r\n' reply: retcode (220); Msg: Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326) connect: Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326) (220, 'Welcome to coremail System(With Anti-Spam) 2.1 for 263(040326)') >>> s.login('hust_zxq524','*****') send: 'ehlo pc11\r\n' reply: '250-smtp.263.net\r\n' reply: '250-PIPELINING\r\n' reply: '250-SIZE 30720000\r\n' reply: '250-ETRN\r\n' reply: '250-AUTH LOGIN\r\n' reply: '250-AUTH=LOGIN\r\n' reply: '250-XVERP\r\n' reply: '250 8BITMIME\r\n' reply: retcode (250); Msg: smtp.263.net PIPELINING SIZE 30720000 ETRN AUTH LOGIN AUTH=LOGIN XVERP 8BITMIME AuthMethod: None Traceback (most recent call last): File "", line 1, in ? File "D:\tools\Python22\lib\smtplib.py", line 540, in login raise SMTPException("No suitable authentication method found.") SMTPException: No suitable authentication method found. 然后我看了smtplib的代码,发现它支持两种认证方式,"PLAIN" 和 "CRAM-MD5",采用哪种需要根据发EHLO 命令给mailserver后,server的回复信息来确定(见blue字部分), 所以有效的回复应该是: AUTH PLAIN CRAM-MD5 或者至少有一种。 而这里的AUTH LOGIN,我google了一下,发现某人说了这样一段话: "本质上AUTH PLAIN和AUTH LOGIN是一样的 用户名和口令都是base64编码的明文,只不过协议命令不一样罢了 因此要说他们的区别就必须知道SASL协议了: SASL协议里面并没有定义AUTH LOGIN,而是定义了与之相同的AUTH PLAIN 但偏偏Oultook自创AUTH LOGIN,谁让MS太NB,因此sasl的一些实现版本里面就有了AUTH LOGIN " 然后outlook在发邮件的时候是这样做的:(在发完ehlo命令以后) AUTH LOGIN 334 VXNlcm5hbWU6 (Base64解码后: Username:) Ymh3YW5n (Base64编码前: bhwang) 334 UGFzc3dvcmQ6 (Base64解码后: Password:) bXlwYXNzd29yZCFteXBhc3N3b3JkISE= (Base64编码前: ********) 235 Authentication successful 以上验证过程中都没有加密数据,:( 我试了好几个网站,263,sina,sohu都是这样的 这样看来smtplib这个模块是没法用了,我用的是2.2,不知道2.3怎么样? Frank Thanks ---------------------------------------------------------------- _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese = = = = = = = = = = = = = = = = = = = = = = 致 礼! charles huang hyy at fjii.com 2004-05-14 -------------------------------------------------------------------------- _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese ---------------------------------------------------------------------------- _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese ------------------------------------------------------------------------------ _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040514/e2c23aec/attachment.htm
Zeuux © 2024
京ICP备05028076号