首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python: Imaplib错误

Python: Imaplib错误
EN

Stack Overflow用户
提问于 2011-03-30 05:36:00
回答 1查看 3.3K关注 0票数 0
代码语言:javascript
复制
import serial
import imaplib
from time import sleep

IMAP_SERVER='imap.gmail.com'
IMAP_PORT=993
ser= serial.Serial ('/dev/ttyACM0',9600)

while True:
    M = imaplib.IMAP4_SSL(IMAP_SERVER, IMAP_PORT)
    rc, resp = M.login('user@gmail.com', 'Password')
    print rc, resp

    M.select()
    for msg_num in M.search("INBOX", "UNDELETED")[1][0].split():
        msg = M.fetch('1', '(BODY.PEEK[TEXT])') 
        try:
            String = msg[1][0][1][139:148]
        except TypeError:
            continue

        print String
        if String == "This is just a test...":
            ser.write('0')
        sleep(1)

我是python编程的初学者,上面的python代码是我想要做的程序的一部分。当我在终端中运行它时,我得到的响应是我已经验证了我的帐户,然后它显示了139和161个字符之间的消息,在示例电子邮件中如下所示:

代码语言:javascript
复制
This is just a test...

这将在终端中打印出来。在程序检查我的电子邮件几次之后,这个错误就出来了:

代码语言:javascript
复制
   Traceback (most recent call last):
     File "/home/wilson/Desktop/Best_Gmail_yet _Dont_touch.py", line 11, in <module>
       rc, resp = M.login('user@gmail.com', 'password')
     File "/usr/lib/python2.6/imaplib.py", line 500, in login
       raise self.error(dat[-1])
   imaplib.error: [ALERT] Web login required: http://mail.google.com/support /bin/answer.py?answer=78754 (Failure)

有没有什么办法可以帮上忙,有没有其他方法可以写给连载,提前谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-30 05:43:28

从错误消息url (http://mail.google.com/support/bin/answer.py?answer=78754):

确保您的邮件客户端未设置为过于频繁地检查新邮件。如果您的邮件客户端每10分钟检查一次以上的新邮件,您的客户端可能会重复请求您的用户名和密码。

我猜你连接服务器的频率太高了,gmail会起疑心。

您似乎还打开了多个imap连接,但没有关闭任何连接。我不知道你到底想做什么,但我猜还有一种更简约的方式,可能只涉及你时不时维护和轮询的一个连接。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5479240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档