Não sei o que você quer dizer quando diz que os UIDs não são exclusivos em uma caixa de correio, apenas em subpastas. Por subpastas, você quer dizer algo diferente de INBOX? De qualquer forma, parece errado. De fato, os UIDs são únicos em cada pasta e não importa se é a INBOX ou qualquer outra pasta.
O que pode acontecer é que os UIDs podem mudar entre as sessões. Geralmente isso acontece se o servidor IMAP perder seus índices e precisar recriá-los ou se o email for migrado de um servidor IMAP para outro, etc ... Se isso acontecer, é claro que você perderá todas as associações entre emails e dados extras. (notas ou contatos).
Você pode confiar nisso: um UID nunca se refere repentinamente a uma mensagem diferente. Ele permanecerá válido e se referirá à mesma mensagem a que sempre se refere, ou se tornará inválido.
Você pode verificar como seu servidor IMAP em particular gera e mantém UIDs. Servidores IMAP diferentes fazem promessas diferentes sobre a persistência dos valores de UID. Mesmo em um servidor IMAP, isso pode variar dependendo do formato da caixa de correio em uso. Por exemplo, com o Dovecot, espere UIDs menos frágeis com o mdbox do que com o mbox ou o Maildir porque os metadados estão mais bem integrados aos e-mails reais do mdbox.
Sugiro usar UIDs para se referir a mensagens no servidor IMAP, com Message-ID
um backup. Message-ID
não é tão bom porque duplicatas são possíveis e (na maioria dos servidores IMAP) a pesquisa Message-ID
pode ser mais lenta, mas é melhor do que perder completamente o controle das mensagens.