FAQ

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은 첨부된 문서의 이름을 반환합니다. 이는 예상된 동작입니까?

답변: 네, 예상된 동작입니다. ContentType.Name이 명시적으로 설정되지 않으면 파일 이름이 이름으로 사용됩니다.

질문:

왜 ExchangeWebServiceClient.FetchMessage는 포함된 이미지를 첨부 파일로 만들까요?

답변: Microsoft Exchange Server는 다음과 같은 기능을 가지고 있습니다 ‘콘텐츠 변환, 이는 각 수신자에게 메시지를 올바르게 형식화하는 과정입니다. 메시지에 대한 콘텐츠 변환을 수행할지 여부는 처리 중인 메시지의 대상 및 형식에 따라 결정됩니다.

즉, 알 수 없는 클라이언트에 대해 서버는 서버 설정에 따라 메시지 형식을 지정할 수 있습니다(가장 적절한 메시지 형식을 선택하도록). 이해하시겠지만, 모든 클라이언트에 가장 보편적인 형식은 ’text/plain’이며 이러한 설정은 서버에서 구성할 수 있습니다.

K 참고: Outlook은 Microsoft Exchange Server용으로 널리 알려진 이메일 클라이언트이며(서버보다 오래된 버전의 MS Outlook을 사용할 경우), Exchange Server는 Outlook의 기능에 따라 메시지 형식을 전달합니다. 우리 경우 ExchangeWebServiceClient가 메시지를 가져오려고 할 때, 우리 구성 요소의 기능이 MS Exchange에 알려지지 않아 서버는 가장 단순한 형식(text/plain)으로 메시지를 전달합니다. 즉, 서버 응답에 HTML 파트가 없으며 이 상황에서는 이미지가 첨부 파일처럼 메시지에 포함됩니다.

설명된 문제를 피할 수 있는 방법이 있습니다. 서버에 있는 메시지의 Content-Type이 multipart/alternative이고 그 파트 중 하나가 text/plain인 경우, 해당 메시지는 그대로 클라이언트에 전달됩니다. 이 경우 이미지가 HTML 파트도 포함하고 있기 때문에 메시지 본문에 표시됩니다. 현재 시나리오에서는 MS Outlook을 사용하여 MS Exchange에 메시지를 추가했으며, 그 결과 메시지의 Content-Type이 ‘multipart/alternative’가 아닙니다. 따라서 메시지를 가져오려 할 때 문제가 발생합니다. 예를 들어 비슷한 문제의 사례는 다음과 같습니다: 하나(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). 결론적으로, 이슈에 설명된 상황(이미지가 메시지에 첨부 파일로 포함된 경우)은 Aspose 구성 요소의 버그가 아니라 Exchange 서버 고유의 기능입니다.

Question: OLE 객체가 포함된 MapiMessage를 읽은 결과로 얻은 "oleData.mso" 첨부 파일에서 데이터를 추출하려면 어떻게 해야 하나요?

Answer: "oleData.mso"와 같은 파일은 Microsoft Compound Document file(MCDF) 형식을 의미하며, 안타깝게도 이러한 파일에 대한 지원은 Aspose.Email의 범위를 넘어섭니다. 그러나 OpenMCDF와 같은 .NET 오픈 소스 라이브러리를 사용하면 이러한 파일의 내용을 읽어 디스크에 저장할 수 있습니다.

Question: 동일한 객체를 사용해 병렬 스레드에서 같은 PST 파일에 쓸 수 있나요?

Answer: 아니요, 이런 경우 스레드 안전성이 보장되지 않습니다. 메시지 쓰기는 단일 스레드에서 수행해야 합니다. 하지만 제품은 서로 다른 스레드의 다양한 객체와 함께 정상적으로 작동해야 합니다.