尝试解析字符串时出现Python poplib错误

时间:2012-12-06 09:46:12

标签: python poplib

我正在使用poplib从POP3服务器获取电子邮件。

但是发生了这个错误:

*cmd* 'USER xxx@gmail.com'
*put* b'USER xxx@gmail.com'
*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('test@gmail.com','asdasd')

但是,在函数中,当我尝试输入密码(表示为'pa')和直接输入时,它可以工作。它不会发生在用户身上。

请帮助,我一直在努力找出它,但对我来说似乎不可能:(

谢谢

1 个答案:

答案 0 :(得分:0)

在读取密码时发现问题:

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

不知怎的,它还读取了包含非法字符的\ n。通过删除每个输入值的\ n来解决。