Как изменить формат тела письма на HTML из надстройки Outlook VSTO? - PullRequest
0 голосов
/ 10 июля 2020

Я кодирую надстройку Outlook, написанную с использованием Visual Studio и VSTO, которая может автоматически изменять формат исходящих писем на HTML:

введите описание изображения здесь

Я бы сделал следующее:

private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    //Add event handler for when emails are sent out
    this.Application.ItemSend += new Microsoft.Office.Interop.Outlook.ApplicationEvents_11_ItemSendEventHandler(onItemSend);
}

private void onItemSend(object Item, ref bool Cancel)
{
    //Called when email is sent
    Outlook.MailItem objMailItem = (Outlook.MailItem)Item;

    //Set message format as HTML
    objMailItem.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML;
}

Я заметил, что мой onItemSend вызывается, и если исходное электронное письмо, которое отправляется, было составлено как обычное -text, это электронное письмо по-прежнему приходит в пункт назначения в виде обычного текста, несмотря на мои изменения там. Я даже попытался прочитать objMailItem.BodyFormat обратно, и там написано olFormatHTML.

Что я делаю не так?

1 Ответ

0 голосов
/ 26 июля 2020

В дополнение к настройке свойства BodyFormat вам необходимо установить правильную разметку HTML для тела сообщения - свойство HTMLBody устанавливает строку, представляющую тело HTML указанного элемента. . Установка свойства HTMLBody всегда немедленно обновляет свойство Body.

...