ImapX Скачать вложение со специальным символом
Я использую ImapX в приложении C#.
Я сканирую почтовый ящик на наличие непрочитанных сообщений и загружаю вложение. В моем случае вложение - это файл XML, НО оно заканчивается символом SUB (к сожалению, поставщик не может изменить это... возможно, какая-то старая система UNIX, которая использует его как конец текстового потока или что-то в этом роде)
Код:
if (message.Attachments != null && message.Attachments.Any())
{
foreach (var attachment in message.Attachments)
{
attachment.Download();
string fileName = String.Format("{0}-{2}{1}", Path.GetFileNameWithoutExtension(attachment.FileName), Path.GetExtension(attachment.FileName), Guid.NewGuid());
attachment.Save(attachmentsPath, fileName);
string contents = File.ReadAllText(attachmentsPath + "\\" + fileName);
MessageBox.Show(String.Format("Attachment saved: {0}", fileName));
}
}
Заявление:
attachment.Save(attachmentsPath, fileName);
Выдает следующую ошибку:
Произошло необработанное исключение типа "System.FormatException" в mscorlib.dll. Дополнительная информация: Введенные данные не являются допустимой строкой Base-64, так как содержат неосновной 64-символ, более двух символов заполнения или недопустимый символ среди отступы персонажей.
Если это поможет:
attachmentsPath = "C:\\Latest"
fileName = "sig_20180704-ea5bfd7a-cd87-40a0-a84b-ccd9b59d496e.xml"
Я не могу понять, что я могу сделать, чтобы иметь это вложение, и я вынужден сделать операцию вручную.