2012-12-06 78 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来解决每个输入值。