Загрузка и сохранение сообщения

Contents
[ ]

Загрузка и сохранение сообщений

Определение форматов файлов

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

В следующем фрагменте кода показано, как определять форматы файлов.

Загрузка сообщения с опциями загрузки

В следующем фрагменте кода показано, как загрузить сообщение с опциями загрузки.

Сохранение формата встроенного сообщения во время загрузки

Загрузка сообщения Сохранение или удаление подписи

Сохранение подписи поддерживается по умолчанию при загрузке файлов EML. Чтобы удалить подпись, вы можете установить LoadOptions.RemoveSignature недвижимость для true.

В приведенном ниже примере кода показано, как удалить подпись при загрузке сообщения:

var msg = MapiMessage.Load(fileName, new EmlLoadOptions() { RemoveSignature = true});

Проверка подписи защищенных электронных писем

The SecureEmailManager класс позволяет проверять подпись защищенных объектов MailMessage.

The SmimeResult класс хранит результаты проверки.

Следующие методы SecureEmailManager класс и фрагмент кода позволят вам обработать подпись:

var eml = MailMessage.Load(fileName);
var result = new SecureEmailManager().CheckSignature(eml);

var certFileName = "cert.pfx";
var cert = new X509Certificate2(certFileName, "pass");
var eml = MailMessage.Load(fileName);
var store = new X509Store();
store.Open(OpenFlags.ReadWrite);
store.Add(cert);
store.Close();

var result = new SecureEmailManager().CheckSignature(eml, cert, store);

Сохранение и преобразование сообщений

Aspose.Email позволяет легко конвертировать сообщения любого типа в другой формат. Чтобы продемонстрировать эту функцию, приведенный в этой статье код загружает три типа сообщений с диска и сохраняет их в других форматах. Базовый класс SaveOptions и классы EmlSaveOptions, MsgSaveOptions, MhtSaveOptions, HtmlSaveOptions для дополнительных настроек при сохранении MailMessage может использоваться для сохранения сообщений в других форматах. В статье показано, как использовать эти классы для сохранения образца электронного письма в виде:

  • Формат EML.
  • MSG для Outlook.
  • Формат MHTML.
  • Формат HTML.

Загрузка и сохранение сообщения EML

В следующем фрагменте кода показано, как загрузить сообщение EML и сохранить его на диск в том же формате.

Загрузите и сохраните сообщение EML с сохранением исходных границ

В следующем фрагменте кода показано, как загрузить EML и сохранить его как EML с сохранением исходных границ.

Сохранение в формате EML Сохранение вложений TNEF

В следующем фрагменте кода показано, как сохранить вложения в формате EML с сохранением вложений TNEF.

Сохранить EML как MSG

В следующем фрагменте кода показано, как загрузить сообщение EML и преобразовать его в MSG, используя соответствующую опцию из SaveOptions.

Сохранение в формате MSG с сохраненными датами

The MsgSaveOptions класс позволяет сохранить исходное сообщение в виде файла сообщений Outlook (MSG) с сохранением дат. В следующем фрагменте кода показано, как сохранить файл в формате MSG с сохраненными датами.

Сохранение почтового сообщения в формате MHTML

Для получения желаемых результатов можно использовать различные варианты MHTML. В следующем фрагменте кода показано, как загрузить сообщение EML в MailMessage и преобразуйте его в MHTML с датой сообщения в системе UTC.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET

// Set options for MHTML output
MhtSaveOptions saveOptions = SaveOptions.DefaultMhtml;
saveOptions.PreserveOriginalDate = false; // save a message date as UTC date

// Initialize and load an existing EML file
using (MailMessage mailMessage = MailMessage.Load(folderPath + "Message.eml"))
{
    mailMessage.Save(folderPath + "Message_out.mhtml", saveOptions);
}

Преобразование в MHTML с дополнительными настройками

The MhtSaveOptions класс предоставляет дополнительные возможности для сохранения сообщений электронной почты в формате MHTML. Счетчик MhtFormatOptions позволяет записывать дополнительную информацию по электронной почте в выходной файл MHTML. Можно записать следующие дополнительные поля:

  • WriteHeader — запишите заголовок письма в выходной файл.
  • WriteOutlineAttachments — запись контурных вложений в выходной файл.
  • WriteCompleteEmailAddress — запишите полный адрес электронной почты в выходной файл.
  • NoEncodeCharacters — не следует использовать передаточную кодировку символов.
  • HideExtraPrintHeader — скрыть дополнительный заголовок печати в верхней части выходного файла.
  • WriteCompleteToEmailAddress — запишите полный адрес электронной почты получателя в выходной файл.
  • WriteCompleteFromEmailAddress — запишите полный адрес электронной почты отправителя в выходной файл.
  • WriteCompleteCceMailAddress — запишите в выходной файл полные адреса электронной почты всех получателей, скопированных на бумаге.
  • WriteCompleteBCCEmailAddress — запишите в выходной файл полный адрес электронной почты всех получателей, скопированных вслепую.
  • renderCalendarEvent — запись текста из календарного события в выходной файл.
  • SkipByteOrderMarkInBody — запись байтов метки порядка байтов (BOM) в выходной файл.
  • RenderVCardInfo — запись текста из vCard AlternativeView в выходной файл.
  • DisplayAsOutlook — отображение заголовка «Из».
  • RenderTaskFields — записывает определенные поля Задачи в выходной файл.
  • Нет — настройка не указана.

В следующем фрагменте кода показано, как конвертировать файлы EML в MHTML с дополнительными настройками.

Отображение событий календаря при конвертации в MHTML

The MhtFormatOptions.RenderCalendarEvent отображает события календаря в выходной файл MTHML. В следующем фрагменте кода показано, как отображать события календаря при преобразовании в формат MHTML.

Экспорт электронной почты в MHT без встроенных изображений

Экспорт электронной почты в MHT с настраиваемым часовым поясом

MailMessage класс предоставляет TimeZoneOffset свойство для установки настраиваемого часового пояса при экспорте в MHT. В следующем фрагменте кода показано, как экспортировать электронную почту в MHT с помощью настраиваемого TimeZone.

Изменение шрифта при преобразовании в MHT

Сохранение тела RTF при преобразовании MSG в EML

Преобразование файла MSG в тело RTF с сохранением EML может быть выполнено двумя способами:

Оба свойства получают или задают значение, указывающее, следует ли сохранить тело rtf в MailMessage.

Следующие фрагменты кода показывают, как преобразовать файл MSG в EML и сохранить тело RTF:

var loadOptions = new MsgLoadOptions
{
    PreserveRtfContent = true
};

var eml = MailMessage.Load("my.msg", loadOptions);
var conversionOptions = new MailConversionOptions
{
    PreserveRtfContent = true
};

var msg = MapiMessage.Load("my.msg");

var eml = msg.ToMailMessage(conversionOptions);

Экспорт электронной почты в EML

В следующем фрагменте кода показано, как экспортировать электронные письма в EML.

Сохранение сообщения в формате HTML

The HtmlSaveOptions класс позволяет экспортировать тело сообщения в HTML. В следующем фрагменте кода показано, как сохранить сообщение в формате HTML.

Сохранение в формате HTML без встраивания ресурсов

Сохранение сообщения в виде файла шаблона Outlook (.oft)

В следующем фрагменте кода показано, как сохранить сообщение в виде файла шаблона Outlook (.oft).