2015-06-04 10 views
1

RFC 6154, «Расширение списка IMAP для специальных почтовых ящиков», указывает, что результаты команды LIST должны содержать специальные атрибуты для каждого указанного почтового ящика.Как получить специальные атрибуты для почтовых ящиков IMAP с помощью Indy?

В Indy's TIdMailBoxAttributes, однако, я их не нахожу. Они должны быть /All, /Archived, /Draft и т.д., но я вижу Noinferiors, Noselect и т.д.

Очевидно, это разные атрибуты.

Как получить доступ к этим атрибутам специального назначения?


Обновление после небольшого количества исходного плавание: Я принимаю это легко достигается за счет расширения постоянной MailBoxAttributes в IdMailBox единицу и, следовательно, изменяя метод IdIMAP4.ParseMailBoxAttributeString в IdIMAP4?

+0

Какого сервера вы подключаете? – legoscia

+0

@legoscia ATM, я тестирую сервер Google. – Domus

ответ

2

Компоненты Indy's TIdIMAP4 и TIdIMAP4Server пока не поддерживают специальные атрибуты. Есть открытые билеты на эту функцию в эмиссионных трекер Инди:

Добавлена ​​поддержка IMAP Списка расширений для специального использования Папок
http://code.google.com/p/indyproject/issues/detail?id=257
http://indy.codeplex.com/workitem/24462

+0

Спасибо, Реми. Если бы мне это было нужно сегодня, было ли мое возительное предложение указывать в правильном направлении? – Domus

+1

'ParseMailBoxAttributeString()' в настоящее время не используется 'InternalParseListResult()' (на самом деле 'ParseMailBoxAttributeString()' не используется вообще), поэтому вам придется добавить это, а также найти место для хранения анализируемые атрибуты (что является основной причиной, по которой Indy еще не реализовала это). И вам нужно будет обновить 'ListMailBoxes()', 'ListInferiorMailBoxes()' и 'ListSubscribedMailBoxes()', чтобы включить предложение 'RETURN (SPECIAL-USE)' в команде 'LIST' (только когда ответ' CAPABILITY' включает «СПЕЦИАЛЬНОЕ ИСПОЛЬЗОВАНИЕ»), чтобы получить атрибуты для синтаксического анализа. –

+0

Я вижу, эта функция была предложена в 2013 году. Могу ли я поднять ее список, проголосовав за нее пару раз? ;) – Domus