Často kladené otázky
Otázka
Ahoj! pro následující kód:
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 vrací název připojeného dokumentu. Je to očekávané chování?
Odpověď: Ano, jedná se o očekávané chování. Pokud není ContentType.Name nastaven explicitně, použije se jako název hodnota názvu souboru.
Otázka:
Proč funkce ExchangeWebServiceClient.FetchMessage převádí vložené obrázky na přílohy?
Odpověď: Microsoft Exchange Server má takovou funkci jako ‘Konverze obsahu, což je proces správného formátování zprávy pro každého příjemce. Rozhodnutí provést konverzi obsahu zprávy závisí na cíli a formátu zprávy, která je zpracovávána.
Jinými slovy, pro neznámé klienty může server provádět formátování zprávy podle nastavení serveru (aby vybral nejvhodnější formát zprávy). Jak chápete, nejuniverzálnějším formátem pro jakéhokoli klienta je ’text/plain’ a tato nastavení jsou na serveru konfigurovatelná.
Upozorňujeme: Outlook je dobře známý e‑mailový klient pro Microsoft Exchange Server (v případě, že má MS Outlook starší verzi než server). To znamená, že Exchange Server předává formát zprávy podle schopností Outlooku. V našem případě, když ExchangeWebServiceClient zkouší zprávu načíst, jsou schopnosti našich komponent neznámé pro MS Exchange. Server předává zprávu komponentám v nejjednodušším formátu (text/plain). Jinými slovy, v odpovědi serveru nejsou žádné html části. V takové situaci jsou obrázky zahrnuty ve zprávě jako přílohy.
Existuje způsob, jak popsaný problém obejít. Pokud má zpráva na serveru hlavičku Content‑Type: multipart/alternative a jeden z jejích částí je text/plain, zpráva se klientovi předá tak, jak je. Obrázky jsou v tomto případě zobrazeny v těle zprávy, protože zpráva také obsahuje část html. V aktuálním scénáři je zpráva přidána do MS Exchange pomocí MS Outlook a jako výsledek není Content‑Type zprávy ‘multipart/alternative’. V důsledku toho nastává problém při pokusu o načtení zprávy. Například zde jsou ukázky podobných problémů: první (http://support.risualblogs.com/blog/2011/02/24/html-mails-sent-via-owa-and-outlook-2011-are-received-as-plain-text-mails-externally/), druhý (http://forums.mozillazine.org/viewtopic.php?f=39&t=628678), třetí (http://stackoverflow.com/questions/4681798/how-do-i-send-html-multipart-alternative-from-exchange-web-services-2010-sp1). Závěrem, situace popsaná v problému (obrázky zahrnuté ve zprávě jako přílohy) není chyba komponent Aspose. Jedná se o specifickou funkci serveru Exchange.
Otázka: Jak extrahovat data z přílohy "oleData.mso", kterou získám při čtení MapiMessage obsahující vložený OLE objekt?
Odpověď: Soubory jako "oleData.mso" odkazují na formát Microsoft Compound Document (MCDF) a bohužel podpora takových souborů přesahuje oblast Aspose.Email. Existují však některé open source .NET knihovny, například OpenMCDF, které lze použít pro čtení obsahu takových souborů a jejich ukládání na disk.
Otázka: Můžeme zapisovat do stejného PST souboru ve více vláknech pomocí stejných objektů?
Odpověď: Ne, bezpečnost vláken není v takovém případě zaručena. Zápisy zpráv by měly probíhat v jediném vlákně. Přesto musí produkt fungovat správně s různými objekty z různých vláken.