Сохранение вложений из электронных писем с помощью C#

Как разработчик C#, вы можете легко программно извлекать и сохранять вложения из сообщений электронной почты. В этой статье вы узнаете, как сохранять вложения из электронных писем с помощью C#.

В этой статье обсуждаются/рассматриваются следующие темы:

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#

Извлекайте и сохраняйте вложения из электронных писем с помощью 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);
}
Save attachments as PDF from emails using C#

Получить бесплатную лицензию

Вы можете попробовать API без ограничений на пробную версию, запросив бесплатную временную лицензию.

Вывод

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

Смотрите также