Câu hỏi thường gặp

Contents
[ ]

Question

Chào! cho đoạn mã sau:


 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 trả về tên của tài liệu đính kèm. Đây có phải là hành vi mong đợi không?

Trả lời: Có, đây là hành vi mong đợi. Nếu ContentType.Name không được đặt rõ ràng, giá trị của tên tệp sẽ được lấy làm tên.

Câu hỏi:

Tại sao ExchangeWebServiceClient.FetchMessage lại biến các hình ảnh nhúng thành tệp đính kèm?

Trả lời: Microsoft Exchange Server có chức năng như ‘Chuyển đổi nội dung, là quá trình định dạng đúng một tin nhắn cho mỗi người nhận. Quyết định thực hiện chuyển đổi nội dung trên một tin nhắn phụ thuộc vào đích đến và định dạng của tin nhắn đang được xử lý.

Nói cách khác, với các client không xác định, server có thể thực hiện việc định dạng tin nhắn theo cài đặt của server (để chọn định dạng tin nhắn phù hợp nhất). Như bạn hiểu, định dạng phổ biến nhất cho bất kỳ client nào là ’text/plain’ và các cài đặt này có thể cấu hình trên server.

Lưu ý: Outlook là client email nổi tiếng cho Microsoft Exchange Server (trong trường hợp Outlook có phiên bản cũ hơn server). Điều này có nghĩa là Exchange Server truyền định dạng tin nhắn dựa trên khả năng của Outlook. Trong trường hợp của chúng ta khi ExchangeWebServiceClient cố gắng lấy tin nhắn, khả năng của các thành phần chúng tôi không được biết bởi MS Exchange. Server truyền tin nhắn cho các thành phần ở định dạng đơn giản nhất (text/plain). Nói cách khác không có phần html trong phản hồi của server. Trong tình huống này, hình ảnh được đưa vào tin nhắn như tệp đính kèm.

Có một cách để tránh vấn đề đã mô tả. Nếu tin nhắn trên máy chủ có Content-Type: multipart/alternative và một trong các phần của nó là text/plain, trong trường hợp này tin nhắn sẽ được chuyển cho client nguyên trạng. Các hình ảnh trong trường hợp này được hiển thị trong phần thân tin nhắn vì tin nhắn cũng chứa phần html. Trong kịch bản hiện tại, tin nhắn được thêm vào MS Exchange bằng cách sử dụng MS Outlook và do đó Content-Type của tin nhắn không phải là ‘multipart/alternative’. Kết quả chúng ta gặp vấn đề khi cố gắng lấy tin nhắn. Ví dụ dưới đây là các mẫu của các vấn đề tương tự: một(http://support.risualblogs.com/blog/2011/02/24/html-mails-sent-via-owa-and-outlook-2011-are-received-as-plain-text-mails-externally/), hai(http://forums.mozillazine.org/viewtopic.php?f=39&t=628678), ba(http://stackoverflow.com/questions/4681798/how-do-i-send-html-multipart-alternative-from-exchange-web-services-2010-sp1)As Kết luận, tình huống được mô tả trong vấn đề (hình ảnh được bao gồm trong tin nhắn dưới dạng tệp đính kèm) không phải là lỗi của các thành phần Aspose. Đây là tính năng đặc thù của máy chủ Exchange.

Question: Làm thế nào tôi có thể trích xuất dữ liệu từ tệp đính kèm "oleData.mso" mà tôi nhận được khi đọc một MapiMessage có đối tượng OLE nhúng trong đó?

Answer: Các tệp như "oleData.mso" là định dạng tệp Microsoft Compound Document (MCDF) và, thật tiếc, việc hỗ trợ các tệp này nằm ngoài phạm vi của Aspose.Email. Tuy nhiên, có một số thư viện .NET mã nguồn mở, ví dụ OpenMCDF, có thể được sử dụng để đọc nội dung của các tệp này và lưu vào đĩa.

Question: Chúng ta có thể ghi vào cùng một tệp PST trong các luồng song song bằng cùng các đối tượng không?

Answer: Không, độ an toàn luồng không được đảm bảo trong trường hợp này. Việc ghi tin nhắn nên được thực hiện trong một luồng duy nhất. Tuy nhiên, sản phẩm phải hoạt động đúng với các đối tượng khác nhau từ các luồng khác nhau.