2011-12-17 20 views
1

私はOutlook 2010のアドインを作成しています。私のアドインは各電子メール形式(プレーンテキスト/ HTML)に従ってメールにフッターを追加しました。私がOutlookの「プレーンテキストとして電子メールを読む」機能(http://support.microsoft.com/kb/831607)を有効にしたときに発生する問題は、アドインがHTML形式の電子メールをプレーンテキストとして受信するため、フッターを追加して保存するため、プレーンテキストとして保存すると、電子メールの実際のHTMLバージョンはOutlookから完全に失われます。Outlook 2010 C++アドイン - HTML電子メール本文検索

ここで(簡潔にするために編集した)私のコードです:

void CConnect::OnNewItem(IDispatch* item) 
{ 
    if (item) 
    { 
     CComQIPtr<Outlook::_MailItem> mailItem(item); 

     OlBodyFormat bodyFormat; 
     mailItem->get_BodyFormat(&bodyFormat); 

     CComBSTR body; 
     if(bodyFormat == olFormatPlain) 
      mailItem->get_Body(&body); 
     if(bodyFormat == olFormatHTML) 
      mailItem->get_HTMLBody(&body); 

     //append the footer here 

     if(bodyFormat == olFormatPlain) 
      mailItem->put_Body(newBody); 
     if(bodyFormat == olFormatHTML) 
      mailItem->put_HTMLBody(newBody); 

     mailItem->Save(); 
     mailItem->Release(); 
    } 
} 

、私はまた、電子メールのHTML本体に彼らの形式が実際に何であるかに関係なくを取得しようとしたが、私は、プレーンテキスト版の生成されたHTMLバージョンを取得元のCSSと書式設定はすべて失われます。

私が必要とするのは、「電子メールをプレーンテキストとして読む」機能がオンになっているときに元のHTMLバージョンを取得できる方法です。どんな助けでも大歓迎です。

答えて

2

少し日付が、ちょうど今、これを見た...

あなたはおそらくこれを適切に行うためにMAPIレベルまで低下する必要があるとしています。次のようなものがあります。

MAPIサポートをアドインに統合することは、一部の人が考えるほど苦痛ではありません。良い出発点は "Using MAPI to Create Outlook 2007 Items"です。

+0

ありがとう、それは私がやったことです。 – rad

+0

あなたが傾いていると感じたら、おそらくこれを答えにしてください。他の人に何が役立つかを見せてくれるニース。 – Jahmic

関連する問題