JavaMail "UID" действительно уникален?

Я недавно работал с javamail. Прямо сейчас я пытаюсь сохранить все письма в файле. Для такой вещи нужен уникальный идентификатор, поэтому я предполагаю, что здесь лучше всего подойдет UID. Однако я заметил кое-что странное: письмо в папке "Входящие" с темой "Hello" имеет UID 10. Если я получу то же сообщение из папки "Все сообщения", я получу то же сообщение (потому что я Я нахожусь в "Все сообщения") с тем же содержанием, но с другим UID. На самом деле это не такая уж большая проблема, возможно ли, что два совершенно разных письма из разных папок могут иметь одинаковый UID? В этом случае мне придется задуматься о том, как я храню почту.

Заранее спасибо.

1 ответ

Решение

UID - это не UID JavaMail, а UID IMAP, определенные в RFC IMAP.

UID являются уникальными для каждой папки и основаны на значении UIDVALIDITY для папки. Не существует уникального идентификатора для самой папки.

В зависимости от ваших потребностей, вы можете рассмотреть возможность использования Message-ID для сообщения, хотя имейте в виду, что, хотя оно очень и очень вероятно будет уникальным, нет гарантии, что оно уникально, и нет гарантии, что оно существует для каждого сообщения.

Другие вопросы по тегам