Independentsoft генерирует .msg сообщения, теряющие вложения при пересылке - PullRequest
0 голосов
/ 19 июня 2009

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

У нас есть веб-приложение ASP.NET, которое отправляет пользователям электронные письма с вложениями. После отправки сообщение сохраняется в формате .msg в SharePoint. Все это работает правильно и надежно.

Проблема, которую мы обнаружили, заключается в том, что, когда пользователь открывает MSG-файл (то есть загружает его из SharePoint), а затем пересылает его, вложения сбрасываются с электронного письма. Вложения находятся в MSG-файле, и их можно открывать и просматривать - проблема возникает только при пересылке (документы исчезают при нажатии вперед).

Пользователи используют Outlook (различные версии) и Internet Explorer.

Я попытался сделать следующее, чтобы исключить непрограммные объяснения:

  1. Переслать фактическое отправленное письмо - это работает (т.е. вложения сохраняются)
  2. Возьмите содержимое и вложение из файла msg, отправьте, а затем отправьте - это работает
  3. Возьмите это письмо, загрузите в SharePoint, загрузите и перешлите - это работает
  4. Возьмите сгенерированный MSG-файл и сохраните его локально. Открыть и переслать - это НЕ работает
  5. Откройте сгенерированный MSG-файл из SharePoint - это НЕ работает
  6. Измените все соответствующие настройки доверия / интрасети - без разницы
  7. Переслать сгенерированные .msg - файлы все еще отсутствуют при получении

Письма отправляются с использованием стандартной функциональности SmtpClient, я не думаю, что * это должна быть область, к которой мне нужно обратиться. Мы используем сторонний компонент под названием Independentsoft для создания нашего MSG-файла, я думаю, что это, вероятно, та область, в которой нам нужна помощь.

Выдержка для этого довольно проста:


Message mailMsg = new Message();
// configuration, set email addresses, etc...

foreach (Document doc in msg.Documents)
{
    Attachment attachment = new Attachment(doc.Path);
    mailMsg.Attachments.Add(attachment);
}

Любые мысли о том, что может быть причиной этого, будут высоко оценены

1 Ответ

0 голосов
/ 19 июня 2009

Это оказалось довольно простым разрешением.

В классе Message существует коллекция с именем MessageFlags. Просто добавьте MessageFlag.HasAttachment при необходимости

...