S22.Imap не работает с MSG-файлами (почтовыми сообщениями Outlook), которые добавляются как вложения - PullRequest
0 голосов
/ 11 октября 2019

Я использую s22.Imap для получения писем с сервера вместе с их вложениями. Я могу написать все вложения, используя приведенный ниже код, кроме вложений MSG-файла.

Это приложение ASP.NET Core 2.1 / C #, в котором приведенный ниже код находится внутри класса почтовой утилиты.



foreach (Attachment attachment in message.Attachments)
{
    byte[] allBytes = new byte[attachment.ContentStream.Length];
    int bytesRead = attachment.ContentStream.Read(allBytes, 0, (int)attachment.ContentStream.Length);
    string destinationFile = @"C:\\Path\\" + attachment.Name;
    BinaryWriter writer = new BinaryWriter(new FileStream(destinationFile, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None));
    writer.Write(allBytes);
    writer.Close();
}

Каждый раз, когда S22.Imap возвращает другое имя файла и расширение, например «dqcbws10.pnx». Есть ли какой-либо конкретный способ работы с MSG-файлами, возвращаемыми S22.IMAP.

Код C # в моем посте способен обрабатывать все другие форматы вложений, такие как .xls, .xlsx, .zip, .dat. Но когда MSG-файл, такой как SampleMessage.msg, извлекается из библиотеки S22.IMAP, он преобразуется в нечто вроде «dqcbws10.pnx» вместо SampleMessage.msg. Что нужно сделать, чтобы преобразовать его в «SampleMessage.msg». Погуглив, он выдвинул предложения, как будто это формат rfc822. Мне нужны указатели на то, как преобразовать "dqcbws10.pnx" в "SampleMessage.msg".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...