FAQ

Contents
[ ]

Pytanie

Cześć! dla następującego kodu:


 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 zwraca nazwę załączonego dokumentu. Czy jest to oczekiwane zachowanie?

Odpowiedź: Tak, jest to oczekiwane zachowanie. Jeśli ContentType.Name nie jest ustawione explicite, jako nazwa zostanie użyta wartość nazwy pliku.

Pytanie:

Dlaczego ExchangeWebServiceClient.FetchMessage sprawia, że osadzone obrazy są traktowane jako załączniki?

Odpowiedź: Microsoft Exchange Server posiada taką funkcję jak ‘Konwersja treści, co jest procesem prawidłowego formatowania wiadomości dla każdego odbiorcy. Decyzja o przeprowadzeniu konwersji zawartości wiadomości zależy od docelowego miejsca i formatu przetwarzanej wiadomości.

Samochodowo, dla nieznanych klientów serwer może formatować wiadomość zgodnie z ustawieniami serwera (aby wybrać najbardziej odpowiedni format wiadomości). Jak rozumiesz, najbardziej uniwersalnym formatem dla każdego klienta jest ’text/plain’ i te ustawienia są konfigurowalne na serwerze.

Należy zauważyć: Outlook jest dobrze znanym klientem poczty dla Microsoft Exchange Server (w przypadku, gdy MS Outlook ma starszą wersję niż serwer). Oznacza to, że Exchange Server dostosowuje format wiadomości do możliwości Outlooka. W naszym przypadku, gdy ExchangeWebServiceClient próbuje pobrać wiadomość, możliwości naszych komponentów są nieznane dla MS Exchange. Serwer przekazuje wiadomość do komponentów w najprostszym formacie (text/plain). Innymi słowy, w odpowiedzi serwera nie ma części HTML. W tej sytuacji obrazy są dołączane do wiadomości jako załączniki.

Istnieje sposób, aby uniknąć opisanego problemu. Jeśli wiadomość na serwerze ma nagłówek Content-Type: multipart/alternative i jedną z jej części jest text/plain, wówczas wiadomość jest przekazywana do klienta w takiej formie. Obrazy są wyświetlane w treści wiadomości, ponieważ wiadomość zawiera także część HTML. W bieżącym scenariuszu wiadomość jest dodawana do MS Exchange przy pomocy MS Outlook i w rezultacie Content-Type wiadomości nie jest ‘multipart/alternative’. W efekcie pojawia się problem przy pobieraniu wiadomości. Przykłady podobnych problemów: pierwszy (http://support.risualblogs.com/blog/2011/02/24/html-mails-sent-via-owa-and-outlook-2011-are-received-as-plain-text-mails-externally/), drugi (http://forums.mozillazine.org/viewtopic.php?f=39&t=628678), trzeci (http://stackoverflow.com/questions/4681798/how-do-i-send-html-multipart-alternative-from-exchange-web-services-2010-sp1). Podsumowując, sytuacja opisana w zgłoszeniu (obrazy dołączone do wiadomości jako załączniki) nie jest błędem komponentów Aspose. Jest to specyficzna funkcja serwera Exchange.

Pytanie: Jak wyodrębnić dane z załącznika "oleData.mso", który otrzymuję jako rezultat odczytu MapiMessage zawierającego obiekt OLE?

Odpowiedź: Pliki takie jak "oleData.mso" odnoszą się do formatu Microsoft Compound Document (MCDF) i niestety obsługa takich plików wykracza poza zakres Aspose.Email. Istnieją jednak pewne otwarte biblioteki .NET, np. OpenMCDF, które mogą służyć do odczytu zawartości takich plików w celu zapisania ich na dysku.

Pytanie: Czy możemy zapisywać do tego samego pliku PST w równoległych wątkach używając tych samych obiektów?

Odpowiedź: Nie, bezpieczeństwo wątków nie jest gwarantowane w takim przypadku. Zapisywanie wiadomości powinno odbywać się w jednym wątku. Jednak produkt musi działać poprawnie z różnymi obiektami z różnych wątków.