Я пишу надстройку для Outlook 2010, моя надстройка добавляет нижний колонтитул к электронным письмам в соответствии с каждым форматом электронной почты (простой текст / HTML), теперь я только что обнаружил проблему, которая возникает, когда я включаю Outlook: «Читать «электронные письма в виде простого текста» (http://support.microsoft.com/kb/831607),, что происходит, если моя надстройка получает электронные письма в формате HTML в виде простого текста, поэтому добавляет нижний колонтитул и сохраняет их соответствующим образом, что является проблемой, поскольку после сохранения в виде простого текста фактический 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-версии, когда включена функция Outlook «Читать электронные письма в виде простого текста». Любая помощь будет принята с благодарностью.