
Как разработчик C#, вы можете легко программно извлекать и сохранять вложения из сообщений электронной почты. В этой статье вы узнаете, как сохранять вложения из электронных писем с помощью C#.
В этой статье обсуждаются/рассматриваются следующие темы:
- C# API для сохранения вложений электронной почты
- Извлечение и сохранение вложений из электронных писем с помощью C#
- Сохранение вложений в формате PDF из электронных писем с помощью С#
C# API для сохранения вложений электронной почты
Для сохранения вложений из файлов MSG мы будем использовать GroupDocs.Viewer для .NET API. Это мощный API-интерфейс для просмотра документов для рендеринга и отображения широко используемых форматов файлов без установки какого-либо внешнего программного обеспечения. Это также позволяет вам быстро просматривать популярные поддерживаемые форматы файлов из Word, Excel, PowerPoint, электронные письма Outlook, Project, PDF, HTML и XML.
Вы можете либо скачать DLL API, либо установить его с помощью NuGet.
Install-Package GroupDocs.Viewer
Извлечение и сохранение вложений из электронных писем с помощью C#
Вы можете программно извлекать и сохранять вложения из файлов MSG электронной почты, выполнив следующие действия:
- Во-первых, загрузите файл MSG с помощью класса Viewer.
- Затем вызовите метод Viewer.GetAttachments(), чтобы получить все вложения загруженного файла MSG. Получите результаты в виде набора вложений.
- Для каждого вложения в коллекции сохраните вложение, вызвав метод Viewer.SaveAttachment(). Передайте объект вложения и путь к файлу, чтобы сохранить его.
В следующем примере кода показано, как извлечь и сохранить вложения, содержащиеся в файле MSG электронной почты, с помощью C#.
string outputPath = @"C:\Files\Viewer\";
// Инициализируйте API и загрузите файл MSG
Viewer viewer = new Viewer(@"C:\Files\Viewer\with_attachments.msg");
// Получить вложения
IList<Attachment> attachments = viewer.GetAttachments();
foreach (Attachment attachment in attachments)
{
// Сохранить вложение
string filePath = Path.Combine(outputPath, attachment.FileName);
viewer.SaveAttachment(attachment, File.OpenWrite(filePath));
}

Извлекайте и сохраняйте вложения из электронных писем с помощью C#.
Сохранение вложений в формате PDF из электронных писем с помощью С#
Вы можете программно сохранить вложения сообщений электронной почты в формате PDF, выполнив следующие действия:
- Создайте экземпляр класса Attachment с присоединенным именем файла и путем к файлу.
- Инициализировать экземпляр класса MemoryStream.
- Загрузите файл MSG с помощью класса Viewer.
- Затем вызовите метод Viewer.SaveAttachment() и передайте вложение и объект MemoryStream в качестве входных параметров. Он извлечет и сохранит указанное вложение в потоке памяти.
- Теперь загрузите объект MemoryStream с помощью класса Viewer.
- Затем создайте экземпляр класса PdfViewOptions с путем к выходному PDF-файлу.
- Наконец, вызовите метод Viewer.View(), чтобы сохранить и просмотреть вложение в формате PDF.
В следующем примере кода показано, как сохранить и просмотреть вложение в формате PDF из файла MSG электронной почты с помощью C#.
// Инициализировать вложение
Attachment attachment = new Attachment("attachment-word.doc", "attachment-word.doc");
MemoryStream attachmentStream = new MemoryStream();
// Инициализировать API и загрузить файл MSG
using (Viewer viewer = new Viewer(@"C:\Files\Viewer\with_attachments.msg"))
{
// Сохранить вложение в потоке
viewer.SaveAttachment(attachment, attachmentStream);
}
// Инициализировать API и загрузить поток вложений
using (Viewer viewer = new Viewer(attachmentStream))
{
// Определить параметры просмотра PDF
PdfViewOptions viewOptions = new PdfViewOptions("C:\\Files\\Viewer\\output.pdf");
// Посмотреть как PDF
viewer.View(viewOptions);
}

Получить бесплатную лицензию
Вы можете попробовать API без ограничений на пробную версию, запросив бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как извлекать и сохранять вложения, содержащиеся в файле MSG электронной почты, с помощью C#. Более того, вы видели, как программно сохранить конкретное вложение в формате PDF. Кроме того, вы можете узнать больше о GroupDocs.Viewer для .NET API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.