我正在尝试创建一个程序,其中使用了名为PGM的模块。这基本上是一个gmail模块。当我获取电子邮件ID的列表,然后获取ID的数量以获取收件箱中的电子邮件数量时,它可以正常工作,但是当我放入无限循环以检查是否有新邮件时,这就是问题电子邮件,当我向收件箱发送电子邮件时,它不会更新号码。它保持打印相同的值。
这是代码。
import PGM,time
from playsound import playsound
mail = PGM.MailReader('username', 'password')
def sound():
playsound('youve-got-mail-sound.mp3')
def countList():
List = mail.get_mail_ids()
count = len(List)
tracker = count
return tracker
countList()
while True:
countList()
print(countList())
time.sleep(1)
答案 0 :(得分:3)
纯估计:
可能是每次检查都应重新打开imap连接。
您自己尝试时,每次都会打开一个新连接,并获得最新结果。
在循环时,将使用相同的连接,并且将获得相同的结果,因为imaplib不会再次从服务器获取结果。
您可以尝试以下方法:
while 1:
mail = PGM.MailReader('username', 'password')
# rest of your code logic
只是看看它是否有效。