我正在編寫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和格式都會丟失。
我需要的是一種能夠在Outlook「閱讀電子郵件爲純文本」功能時檢索原始HTML版本的方式,任何幫助將不勝感激。
謝謝,這就是我最終做的。 – rad 2012-11-08 12:56:32