Как ловить новые письма в gmail?
Опрашивайте верхние 10 писем, там кроме всего прочего есть messageid вот его и проверяйте он уникальный
Протокол imap позволяет мониторить письма не периодическими запросами, а прямым подключением и получением соответствующего сообщения по каждому новому письму

Искать Imap idle фичу в библиотеках, она точно есть в куче реализаций, погуглите, первое что выпадает