[英]How do I perform an IMAP search in Python (using Gmail and imaplib)?
[英]How do I first login then continue to check gmail via imaplib and python
每当我在GMail中收到新电子邮件时,我就一直在研究一个小型Arduino项目,以激活带有标记的伺服器。 我想登录Gmail,检查是否有新电子邮件,然后每隔x秒检查一次。
我发现,第一个连接运行良好,但是之后,出现一个错误, 当我处于AUTH模式时,只能使用NONAUTH,不能使用LOGIN 。 这表明一旦登录会话,GMail就不会采用该方法。
这是脚本:
import serial
import time
import imaplib, re
import getpass
user = raw_input("Enter your GMail username:")
pwd = getpass.getpass("Enter your password: ")
ser = serial.Serial('/dev/tty.usbmodemfa141', 9600)
print "Starting on " +ser.name;
conn = imaplib.IMAP4_SSL("imap.gmail.com", 993)
while (True):
conn.login(user,pwd)
unreadCount = int(re.search("UNSEEN (\d+)", conn.status("INBOX", "(UNSEEN)")[1][0]).group(1))
if(unreadCount > 0):
print str(unreadCount) + " new mails!"
ser.write("M")
else:
print "no mail :("
ser.write("N")
time.sleep(5)
我的想法是,我先使用conn.login(),然后再在循环中使用另一个命令,或者我可以在检查后注销,然后每次重新登录。
有什么想法吗? 有什么建议吗?
您需要从while循环中删除“ conn.login(user,pwd)”行。 将其放在while循环之前的行应该可以正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.