2012-12-06 108 views
1

我使用poplib從POP3服務器獲取電子郵件。嘗試解析字符串時出現Python poplib錯誤

但出現此錯誤:

*cmd* 'USER [email protected]' 
*put* b'USER [email protected]' 
*get* b'+OK send PASS\r\n' 
*resp* b'+OK send PASS' 
*cmd* 'PASS asdasd\n' 
*put* b'PASS asdasd\n' 
*get* b'-ERR bad command qj1pf12899100pbb.19\r\n' 
*resp* b'-ERR bad command qj1pf12899100pbb.19' 

這裏是Python代碼:

import getpass, poplib 
def LoginGmail(email, pa): 
    M = poplib.POP3_SSL('pop.googlemail.com', '995') 
    M.set_debuglevel(2) 
    user = email 
    try: 
     M.user(user) 
     M.pass_(pa) 
    except: 
     print('Invalid credentials') 
    else: 
     print('Successful login') 

... 
in main(): 
loginGmail('[email protected]','asdasd') 

然而,在功能上,當我嘗試在密碼輸入(表示爲 'PA')並直接輸入,它的工作原理。它不會發生在用戶身上。

請幫幫忙,我一直在嘗試了一天來弄明白,但對我來說:(似乎是不可能的

謝謝

回答

0

發現了問題,當它讀取密碼:

*cmd* 'PASS asdasd\n' 
*put* b'PASS asdasd\n' 

不知何故,它也讀取含有非法字符的\ n。通過移除\ n來解決每個輸入值。