Интересная проблема: похоже, это работает:
import time
from threading import Thread
answer = None
def check():
time.sleep(2)
if answer != None:
return
print "Too Slow"
Thread(target = check).start()
answer = raw_input("Input something: ")
Если вы хотите убедиться, что пользователь не допустил ошибки (или выдает фиктивный адрес, потому что они не интересуются вашими сообщениями), вам, вероятно, следует сделать то же, что и любая другая система: не активируйте учетную запись (или что-то еще), пока не получите подтверждение того, что пользователь получил электронное письмо, щелкнув ссылку или введите код, содержащийся в электронном письме.
Это необходимо сделать, потому что вы никогда не получите указание на то, что адрес электронной почты недействителен - некоторые серверы настроены так, чтобы отбрасывать некоторые (или все) недопустимые адреса электронной почты или сбрасывать их в корзину для спама. Тот факт, что электронное письмо кажется успешно отправленным, не означает, что оно действительное или что оно доходит до нужного человека.