Есть скрипт для работы с электронной почтой, считывает в inbox непрочитанные письма с определенного адреса и ищет письма с определенными словами в теме
from imaplib import IMAP4_SSL
. . .
server.select('INBOX')
typ, data = server.search(None, '(UNSEEN)', '(FROM "box@server.com")')
for msgId in data[0].split():
    subj = server.fetch(msgId, '(BODY.PEEK[HEADER.FIELDS (SUBJECT)])')[1][0][1].strip().decode('utf-8')
    if subj[9:19] == 'string1' or subj[9:19] == 'string2':
        . . .

Всё работает замечательно, за исключением одного момента. Иногда не видит пришедшее письмо, т.е. в браузере оно видно, а скрипт в упор не замечает. Если запустить его через некоторое время (всякий раз разное, то пару секунд, то пару часов), то может и заметить. Если выполнять пошагово в PyScripter, то всегда всё нормально. Из-за чего это может быть?

Проверял на python 3.4 и 3.5, win XP и 7