Во-первых, извините за мой английский.
Я хотел бы отобразить список файлов с именами вложений в почтовом ящике. Затем из этого списка пользователи смогут выбрать, какие вложения они хотят загрузить на жесткий диск - например, такие как в этой программе: http://www.mailresender.com.ar/Read.html
Я уже написал это в Koolwired.Imap:
for (int i = 0; i < mbStructure.BodyParts.Count; i++) // i = number of parts of body
{
if (mbStructure.BodyParts[i].Attachment)
{
mbStructure = command.FetchBodyPart(mbStructure, i);
System.Console.WriteLine(mbStructure.BodyParts[i].Disposition); // Disposition contains file name
//System.Console.WriteLine(mbStructure.BodyParts[i].Data); // Data contains entire file
}
}
но проблема в том, что в память загружается не только имя файла, но и бинарные данные (весь вложенный файл загружается методом FetchBodyPart) - поэтому, если файлы во вложении имеют большой размер (например, 20 МБ), все эти 20 МБ тоже надо загрузить в память, так что отображение списка имен файлов будет продолжаться очень-очень долго.
Есть ли способ загрузить только имена файлов вложений без файлов? Какая библиотека в С# может это поддерживать?