2016-08-19 58 views
0

我試圖使用ews java 2.0以豐富文本格式發送電子郵件的emailbody。如何使用PidTagRtfCompressed發送電子郵件的實際電子郵件身份使用PidTagRtfCompressed Canonical Property

儘管我正確地獲取文本格式,但我沒有收到相同的html格式。

我需要的只是發送郵件的emailbody的確切表示。這樣我就可以在需要html的另一個系統中重現這一點。

我有可能得到它嗎?

我試過使用PidTagRtfCompressed Canonical屬性。我使用帶擴展屬性定義的擴展屬性定義了rtf emailbody的相應標記(0x1009)和mapitype(二進制)。雖然我確實收到了價值,但我無法將其解碼爲相應的可讀值。

是否有可能從此擴展屬性中獲取可讀值?是否有可能獲得html格式?

我會感謝任何幫助。

感謝

回答

0

我試圖讓電子郵件的emailbody,使用EWS的Java 2.0,富文本格式發送。

如果你只是要求使用getItem操作,EWS將返回HTML身體,如果消息有一個本地RTF體Exchange存儲會做一個在飛行轉換的RTF消息轉換成HTML(元返回的HTML中的信息會告訴你轉換是否完成)。您可以在不使用EWSEditor https://ewseditor.codeplex.com/編寫任何代碼的情況下進行測試。是否有任何理由不使用Strongly類型的屬性,因爲這將是獲取身體的常規方法,除非您存儲轉換問題,否則問題的其餘部分沒有多大意義?

雖然我確實收到它的價值,但我無法將其解碼爲相應的可讀值。

如果你想的是,那麼你需要實現自己的解壓庫做到這一點例如像https://github.com/Sicos1977/MSGReader/blob/master/MsgReader/Outlook/RtfDecompressor.cs應該工作。協議規範是https://msdn.microsoft.com/en-us/library/cc463890(v=exchg.80).aspx。 Exchange有一個庫,但它的使用限於服務器,因爲它主要用於傳輸代理https://msdn.microsoft.com/en-us/library/microsoft.exchange.data.textconverters(v=exchg.150).aspx

+0

嗨格倫,謝謝你的迴應。我實際上試圖在一次調用中同時獲得電子郵件正文的文本和html格式。所以我嘗試了將屬性設置爲文本的方法,並使用一個擴展屬性來獲取電子郵件正文的html表單。但是,如果收到富文本格式的電子郵件時使用這種方法,則不會收到擴展屬性(獲取html表單)的值。因此,爲了迎合這個問題,我嘗試使用rtf mapi標籤。 –

+0

但現在我看到,電子郵件正文ic的相應擴展屬性僅在相應表單中的電子郵件時發送。也就是說,如果電子郵件是以html格式發送的,那麼只有帶有PR_BODY_HTML mapi標籤的擴展屬性才能以類似方式接收PR_BODY和PR_RTF_COMPRESS ED。不知道當收到三種格式的電子郵件時我該如何接收文本和html表單。你能指導我嗎? –

+0

另外,如果以純文本形式接收電子郵件,通用emailMessage.getBody()方法也不會提供html表單。 –

相關問題