FAQs

Contents
[ ]

Question

Привет! для следующего кода:


 Aspose.Email.Mime.ContentType ct = new Aspose.Email.Mime.ContentType();

ct.MediaType = "application/msword";

ct.CharSet = "ISO-2022-JP";

Attachment att = new Attachment("Test.doc", ct);

Console.WriteLine(att.ContentType.Name);

att.ContentType.name возвращает имя вложенного документа. Это ожидаемое поведение?

Answer: Да, такое поведение ожидаемо. Если значение contentType.Name не задано явно, в качестве имени будет принято значение имени файла.

Question:

Почему ExchangeWebServiceClient.fetchMessage превращает встроенные изображения в виде вложений?

Answer: Сервер Microsoft Exchange имеет такую функциональность, как ‘Конверсия контента, который представляет собой процесс правильного форматирования сообщения для каждого получателя. Решение о преобразовании содержимого сообщения зависит от места назначения и формата обрабатываемого сообщения.

Другими словами, для неизвестных клиентов сервер может выполнять форматирование сообщений в соответствии с настройками сервера (чтобы выбрать наиболее подходящий формат сообщения). Как вы понимаете, наиболее универсальным форматом для любого клиента является формат «текстовый/простой», и эти параметры можно настроить на сервере.

Обратите внимание: Outlook — известный почтовый клиент для Microsoft Exchange Server (если у MS Outlook более старая версия, чем у сервера). Это означает, что Exchange Server передает формат сообщения в соответствии с возможностями Outlook. В нашем случае, когда ExchangeWebServiceClient пытается получить сообщение, возможности наших компонентов для MS Exchange неизвестны. Сервер передает сообщение компонентам в простейшем формате (текстовый/обычный). Другими словами, в ответе сервера нет HTML-частей. В этом случае изображения включаются в сообщение в виде вложений.

Есть способ избежать описанной проблемы. Если сообщение на сервере имеет тип содержимого: многочастный/альтернативный и одна из его частей — текстовый/обычный, то в этом случае это сообщение передается клиенту без изменений. Изображения в данном случае отображаются в теле сообщения, поскольку сообщение также содержит часть html. В текущем сценарии сообщение добавляется в MS Exchange с помощью MS Outlook, в результате чего тип содержимого сообщения не является «многочастным/альтернативным». В результате возникает проблема при попытке получить сообщение. Например, вот примеры похожих проблем: one (http://support.risualblogs.com/blog/2011/02/24/html-mails-sent-via-owa-and-outlook-2011-are-received-as-plain-text-mails-externally/), два (http://forums.mozillazine.org/viewtopic.php?f=39&t=628678), три (http://stackoverflow.com/questions/4681798/how-do-i-send-html-multipart-alternative-from-exchange-web-services-2010-sp1)As заключение, ситуация, описанная в выпуске (изображения, включенные в сообщение в виде вложений), не является ошибкой компонентов aspose. Эта функция специфична для сервера Exchange.

Question: Как извлечь данные из вложения «OleData.mso», полученные в результате чтения сообщения MapiMessage со встроенным в него объектом OLE?

Answer: Такие файлы, как «OleData.mso», относятся к формату файлов составных документов Microsoft (MCDF), и, к сожалению, поддержка таких файлов не входит в сферу компетенции Aspose.Email. Однако существуют определенные библиотеки.NET с открытым исходным кодом, например OpenMCDF, которые можно использовать для чтения содержимого таких файлов для сохранения на диск.

Question: Можно ли писать в один и тот же PST-файл в параллельных потоках, используя одни и те же объекты?

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