私はHotmailにログインするためのスクリプトを書いています。ユーザーにパスワードの入力を求め、パスワードが正しい場合はすべて正常です。poplibを使用してPOPサーバーに無効な資格情報を与えると、なぜ正しいもので再試行できないのですか?
ただし、最初にパスワードを間違えた場合、その後の試行では有効なパスワードは機能しません。
これは私が自分のパスワードを入力するユーザーのために使用しているものです。ここで
import poplib
M = poplib.POP3_SSL('pop3.live.com', 995) #Connect to hotmail pop3 server
M.set_debuglevel(2)
success = False;
user = "[email protected]"
while success == False:
try:
password = raw_input("password: ")
M.user(user)
M.pass_(password)
except:
print "Invalid credentials"
else:
print "Successful login"
success = True
は上のデバッグレベル2で出力されます。
$ python my_program.py
password: password
*cmd* 'USER [email protected]'
*put* 'USER [email protected]'
*get* '+OK password required\r\n'
*resp* '+OK password required'
*cmd* "PASS password"
*put* "PASS password"
*get* '+OK mailbox has 1 messages\r\n'
*resp* '+OK mailbox has 1 messages'
Successful login
$ python my_program.py
password: 1234
*cmd* 'USER [email protected]'
*put* 'USER [email protected]'
*get* '+OK password required\r\n'
*resp* '+OK password required'
*cmd* 'PASS 1234'
*put* 'PASS 1234'
*get* '-ERR authentication failed\r\n'
*resp* '-ERR authentication failed'
Invalid credentials
password: password
*cmd* 'USER [email protected]'
*put* 'USER [email protected]'
*get* '+OK password required\r\n'
*resp* '+OK password required'
*cmd* "PASS password"
*put* "PASS password"
Invalid credentials
私はここで何をしないのですか?私はPythonにはとても新しいことに注意してください。