Обработка вложений электронной почты Outlook и встроенных сообщений в C#

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

C# .NET API для управления вложениями электронной почты

Для обработки вложений электронной почты мы будем использовать Aspose.Email for .NET, мощный и комплексный API, разработанный для разработчиков C# для работы с сообщениями электронной почты и различными связанными задачами в их приложениях .NET. Он предоставляет широкий спектр функциональных возможностей для создания, обработки, конвертации и управления сообщениями, что делает его ценным инструментом для бизнеса и разработчиков, которые нуждаются в интеграции возможностей электронной почты в свои программные приложения. Чтобы воспользоваться мощью API, скачайте его DLL или установите его через NuGet.

Добавление обычных вложений

Обычные вложения — это самостоятельные файлы, которые включены в сообщение электронной почты и обычно отображаются в виде отдельных значков или ссылок в теле письма.

Пример вложения электронной почты - Обычное вложение

Интуитивно понятный API Aspose.Email позволяет вам добавить обычное вложение к сообщению всего за несколько строк кода. С помощью шагов и примера кода ниже вы создадите пример сообщения электронной почты (MSG) и добавите к нему вложение файла (“document.pdf”) с использованием класса MapiMessage в C#:

  1. Создайте или загрузите MapiMessage.
  2. Прочитайте содержимое “document.pdf” в массив байтов.
  3. Добавьте вложение с именем (“document.pdf”) и данными в коллекцию Attachments сообщения.

Добавление встроенных вложений

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

Пример вложения электронной почты - Встроенное вложение

Изображение в содержимом сообщения является встроенным вложением. API Aspose.Email позволяет проверить, является ли вложение встроенным, прежде чем выполнять другие манипуляции с ним, и пример кода ниже демонстрирует, как выполнить эту задачу.

  1. Загрузите сообщение электронной почты из файла с помощью метода MapiMessage.Load().
  2. Переберите коллекцию его вложений.
  3. Для каждого вложения в коллекции выведите их отображаемые имена вместе с логическими значениями, указывающими, являются ли они встроенными или обычными.

Добавление ссылочных вложений

Ссылочные вложения не содержат фактического содержимого файла в сообщении электронной почты. Вместо этого они включают ссылки на внешние ресурсы, такие как изображения, размещенные на веб-сервере. Когда получатель открывает электронное письмо, их клиент или веб-браузер получает эти ресурсы из указанных URL-адресов для отображения контента. Таким образом, пользователь может отправить его со ссылкой на файл, хранящийся в Google Drive. Вместо того чтобы прикреплять документ непосредственно к сообщению, вы можете создать ссылочное вложение, которое ссылается на файл на Google Drive.

Пример вложения электронной почты - Ссылочное вложение

Пример кода ниже демонстрирует, как создать сообщение со ссылочным вложением:

  1. Создайте или загрузите объект MapiMessage.
  2. Добавьте ссылочное вложение к сообщению с помощью метода MapiAttachmentCollection.Add, предоставив имя файла, URL-адрес файла, URL-адрес папки и имя поставщика.
  3. Установите тип разрешения для вложения с помощью метода MapiAttachment.SetProperty, чтобы указать, кто может редактировать его.
  4. При необходимости вы можете установить дополнительные свойства, такие как оригинальный тип разрешения, является ли вложение папкой, URL-адрес конечной точки поставщика, URL-адрес предварительного просмотра и URL-адрес миниатюры.
  5. Сохраните сообщение в файл с помощью метода Save.

Добавление встроенных сообщений

Встроенные сообщения — это те, которые включены или вложены в другое сообщение электронной почты. Они могут содержать собственный контент, вложения и метаданные и, как правило, инкапсулированы в теле или как вложения родительского сообщения.

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

Пример встроенного сообщения

Aspose.Email предоставляет компоненты для реализации этой функции. Следующий пример кода с шагами демонстрирует, как добавить встроенный объект к сообщению электронной почты:

  1. Создайте экземпляр класса MapiMessage.
  2. Загрузите существующее сообщение из файла с помощью метода MapiMessage.Load().
  3. Добавьте загруженное сообщение как вложение к ранее созданному. Используйте метод MapiAttachmentCollection.Add для этой цели.

Сохранение всех вложений в MSG как отдельные файлы

Пример кода ниже покажет вам, как загрузить сообщение электронной почты из файла и сохранить каждое отдельное вложение из сообщения в отдельный файл с его оригинальным именем файла.

  1. Создайте экземпляр класса MapiMessage.
  2. Переберите коллекцию вложений загруженного сообщения.
  3. Для каждого вложения сохраните его как отдельный файл с помощью метода Save, убедившись, что каждое вложение сохраняется с его оригинальным именем файла.

Заключение

В этой статье мы рассмотрели практическую реализацию добавления различных типов вложений и встроенных объектов к сообщениям электронной почты, сохранения вложений в отдельные файлы в C#, предоставив краткие примеры кода для иллюстрации процессов. Aspose.Email for .NET является универсальным решением, позволяющим разработчикам эффективно управлять вложениями электронной почты и улучшать задачи связи в своих приложениях, обеспечивая тем самым согласованный и бесшовный опыт для конечных пользователей.

Бесплатные ресурсы:

  • форум поддержки, чтобы задать вопросы, получить помощь и взаимодействовать с сообществом для решения проблем или получения информации о том, как эффективно использовать библиотеку
  • обширная документация, которая всесторонне охватывает различные аспекты функциональности библиотеки с доступом к API ссылкам, учебникам, примерам кода и лучшим практикам
  • информационный блог, охватывающий широкий круг тем, связанных с управлением электронной почтой, обработкой вложений и другими актуальными вопросами, с идеями, советами и обновлениями о последних функциях и разработках в экосистеме Aspose.Email
  • бесплатные приложения, разработанные для улучшения управления электронной почтой и повышения производительности пользователей на различных платформах

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