Я не знаю, що ви маєте на увазі, коли ви говорите, що UID не унікальні в поштовій скриньці, просто в папках. Під папками ви маєте на увазі щось, крім INBOX? У будь-якому випадку це звучить неправильно. Ідентифікатори UID насправді є унікальними для кожної папки, і не має значення, чи це INBOX або будь-яка інша папка.
Що може статися, це те, що UID можуть змінюватися між сеансами. Як правило, це трапляється, якщо сервер IMAP втрачає свої індекси та потребує відновлення їх або якщо пошта перенесена з одного сервера IMAP на інший тощо. Якщо це станеться, ви, звичайно, втратите всі асоціації між електронними листами та додатковими даними (нотатки або контакти).
Ви можете розраховувати на це: UID ніколи раптом не посилатиметься на інше повідомлення. Або він залишатиметься дійсним і посилатиметься на те саме повідомлення, на яке він завжди згадувався, або стане недійсним.
Ви можете перевірити, як ваш конкретний сервер IMAP генерує та підтримує UID. Різні сервери IMAP дають різні обіцянки щодо стійкості значень UID. Навіть на одному сервері IMAP він може змінюватися залежно від того, який формат поштової скриньки використовується. Наприклад, з Dovecot очікуйте на тендітні менш UID з mdbox, ніж з mbox або Maildir, оскільки метадані більш тісно інтегровані з фактичними електронними листами з mdbox.
Я пропоную використовувати UID для посилання на повідомлення на сервері IMAP з Message-ID
резервною копією. Message-ID
це не так добре, тому що можливі дублікати та пошук (для більшості серверів IMAP) пошук Message-ID
може бути повільнішим, але це краще, ніж повністю втратити відстеження повідомлень.