Я хотел узнать, знает ли кто, как использовать capabilities property класса Indy TIdIMAP4? Его документация, по-видимому, является минимальной автоматической сгенерированной документацией, которая вообще не описывает ее назначение или использование.Как использовать свойства свойств TidIMAP4?
Так что я написал код, как это (соединение уже открыто в этом Поинге)
if IMAP.Capabilities.IndexOf('MOVE')<>-1 then begin
IMAP.SendCmd(...);
end;
Однако, когда это, казалось, не будет работать, я начал расследование и нашел IMAP.Capabilities был пустой список строк. Я знаю, что возможности отправляются сервером при подключении, не запрашивая их, но они, похоже, не заполняются автоматически? Я ошибаюсь, думая, что список возможностей должен быть заполнен просто путем соединения?
Или есть какая-то другая команда, которую я должен назвать первым? Команда Capability выглядит многообещающе , за исключением того, что этот метод хранит результаты в предоставленном пользователем строчном списке, поэтому я немного скептически отношусь к списку строк в IMAP.Capabilities будет волшебным образом заполнен из этого (и если бы это было case, почему я должен предоставить пустой список?)Редактировать: Появляется Возможность перегружена, и в ней нет версии для него. Тем не менее, я все еще вижу пустой список возможностей после вызова этого.
И ... немного тангенциально ... кажется TidIMAP4 имеет метод IsCapabilityListed который бы здорово использовать для проверки UIDPLUS и MOVE возможности с тех пор я не пришлось бы повторять логику в этом методе ... кроме того, что она не является общедоступной –