我在使用imap时遇到了一些麻烦。
我正在尝试编写一个脚本,该脚本将使用imap连接到我们的语音邮件服务器并下载所有消息。
我已经可以使用个人帐户登录,但是当我尝试使用“ proxyauth”以管理员身份登录并代理到另一个订户的邮箱时,出现以下错误:

“ imaplib.error:PROXYAUTH命令错误:错误['Unrecognized command']”

这是我正在使用的代码:

c = imaplib.IMAP4("x.x.x.x")
c.login_cram_md5("admin", "******")
c.proxyauth("7001")

type, data = c.select()

try:
    c.select('INBOX', readonly=True)

    for i in c.search(None, 'All')[1][0].split():
        print "\n===================================="
        print "Reading Message: " + str(i) + "..."
        print "====================================\n"
        typ, msg_data = c.fetch(str(i), '(RFC822)')
        for response_part in msg_data:
            if isinstance(response_part, tuple):
                print email.message_from_string(str(msg_data[0][1]))

finally:
    try:
        c.close()
    except:
        pass
c.logout()


任何关于我可能做错事的想法都将不胜感激!

最佳答案

PROXYAUTH是旧的Netscape IMAP服务器扩展。

查看您的服务器是否支持AUTHENTICATION PLAIN。在端口143上进行Telnet,登录并发出CAPABILITY命令,然后在响应中查找AUTH = PLAIN。例如:

telnet <server> 143
* OK IMAP Server ready
1 login user password
1 OK completed
1 capability
* CAPABILITY IMAP4 IMAP4REV1 ACL NAMESPACE UIDPLUS IDLE LITERAL+ QUOTA ID MULTIAPPEND LISTEXT CHILDREN BINARY LOGIN-REFERRALS UNSELECT STARTTLS AUTH=LOGIN AUTH=PLAIN AUTH=CRAM-MD5 AUTH=DIGEST-MD5 AUTH=GSSAPI AUTH=MSN AUTH=NTLM


有关认证平面的详细信息,请参见http://tools.ietf.org/html/rfc4959

-里克

关于python - imaplib代理身份验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17970500/

10-12 22:20