我在使用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/