Saya tidak tahu apa yang Anda maksud ketika Anda mengatakan UID tidak unik di kotak surat, hanya di subfolder. Dengan subfolder, apakah maksud Anda selain dari INBOX? Bagaimanapun, kedengarannya salah. UID sebenarnya unik dalam setiap folder dan tidak masalah itu INBOX atau folder lainnya.
Apa yang bisa terjadi adalah bahwa UID dapat berubah antar sesi. Umumnya ini terjadi jika server IMAP kehilangan indeksnya dan harus membangunnya kembali atau jika surat dimigrasikan dari satu server IMAP ke yang lain, dll. Jika ini terjadi, Anda tentu saja akan kehilangan semua asosiasi antara email dan data tambahan (catatan atau kontak).
Anda dapat mengandalkan ini: UID tidak akan pernah tiba-tiba merujuk ke pesan yang berbeda. Entah itu akan tetap valid dan merujuk ke pesan yang sama seperti selalu dirujuk, atau kalau tidak maka akan menjadi tidak valid.
Anda mungkin ingin memeriksa bagaimana server IMAP Anda menghasilkan dan memelihara UID. Server IMAP yang berbeda membuat janji yang berbeda tentang persistensi nilai UID. Bahkan dalam satu server IMAP, ini dapat bervariasi tergantung pada format kotak surat mana yang digunakan. Misalnya, dengan Dovecot, perkirakan UID yang lebih rapuh dengan mdbox daripada dengan mbox atau Maildir karena metadata lebih terintegrasi dengan email yang sebenarnya dengan mdbox.
Saya sarankan menggunakan UID untuk merujuk ke pesan di server IMAP, dengan Message-ID
sebagai cadangan. Message-ID
tidak sebagus duplikat mungkin dan (untuk sebagian besar server IMAP) mencari dengan Message-ID
mungkin lebih lambat, tapi itu lebih baik daripada kehilangan jejak pesan sepenuhnya.