Mailkit: есть ли способ проверить, является ли папка специальной папкой?

#imap #mailkit

#imap #mailkit

Вопрос:

Я читаю все папки IMAP, рекурсивно просматривая все папки. В моем пользовательском интерфейсе я хотел бы назначить специальные папки так, чтобы они отображались вверху.

Есть ли уже какое-либо свойство или метод, которые могут сообщить мне, является ли какая-либо папка специальной папкой и каков тип перечисления? Или мне нужно проверить имя папки, чтобы определить это.

PS: Я думаю, что если сервер поддерживает XLIST или Special-Use, вы можете получить специальную папку, используя вызов GetFolder, но я не смог найти ничего, что могло бы проверить, является ли IMailFolder специальной папкой.

Ответ №1:

Вы можете проверить свойство атрибутов папки, чтобы узнать, содержит ли оно какие-либо из атрибутов специальной папки (FolerAttributes.Все, Архив, Черновики, Помечено, Входящие, Мусор, Отправлено, Корзина).

Комментарии:

1. Спасибо, я думаю, что я смотрел на это раньше, но пропустил это. Итак, если Special-Use или XLIST не поддерживаются, тогда он также эвристически установит правильные атрибуты или мне нужно сделать это самому?

2. Он установит почтовый ящик (потому что он всегда имеет одно и то же имя), но не установит остальные. Однако вам не следует устанавливать эти значения, просто используйте свою собственную логику в дополнение к этому.