1

我正在使用 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”)并直接输入时,它可以工作。它不会发生在用户身上。

请帮忙,我已经尝试了一天来弄清楚,但对我来说似乎是不可能的:(

谢谢

4

1 回答 1

0

发现问题,当它读取密码时:

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

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

于 2012-12-07T23:51:07.043 回答