Хобрук: Ваш путь к мастерству в программировании

Html не отображается в почте Outlook

У меня есть следующий код, который отправляет электронные письма разным получателям в цикле

public void SendMail2(string subject, string body, string emailAddress, string cc)
    {

        Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
        Microsoft.Office.Interop.Outlook.MailItem mailItem = app.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
        mailItem.Subject = subject;
        mailItem.To = emailAddress;
        mailItem.CC = cc;
        mailItem.Body = body;
        mailItem.SentOnBehalfOfName = "name";
        mailItem.Display(false);
        mailItem.Send();
    }

Однако html просто отображается как текст со всеми тегами в электронном письме, в то время как он был идеальным, когда я использовал

        // Create the Outlook application.
        Outlook.Application oApp = new Outlook.Application();

        // Get the NameSpace and Logon information.
        Outlook.NameSpace oNS = oApp.GetNamespace("mapi");

        // Log on by using a dialog box to choose the profile.
        oNS.Logon(Missing.Value, Missing.Value, true, true); 

но мне пришлось вернуться к первому методу, чтобы я мог изменить адрес «От»

Любые идеи, пожалуйста?

31.03.2015

  • Я не часто использую C#, но я считаю, что должен быть какой-то метод для установки Content-Type электронной почты. Установите его в text/html, и все готово. 31.03.2015
  • Как упоминалось ниже, единственное изменение, которое было необходимо, это mailItem.HTMLBody = body; 31.03.2015

Ответы:


1

Попробуйте использовать mailItem.HTMLBody = Body; вместо mailItem.Body = body;, а затем добавьте mailItem.BodyFormat = olFormatHTML;

31.03.2015
  • При этом я получаю, что имя «Body» не существует в текущем контексте, а имя «olFormatHTML» также не существует в текущем контексте. 28.12.2015

  • 2

    mailItem.Body = тело;

    Это потому, что вы используете Body собственность. Вместо этого используйте HTMLBody.

    31.03.2015
  • Сработало как часы, большое спасибо, не мог ответить еще 8 минут. 31.03.2015
  • Это то, что сработало и для меня; все остальные идеи даже не скомпилируются для меня. 28.12.2015

  • 3
    mailItem.IsBodyHtml= true;
    

    сделаю то, что ты хочешь, если я пойму твою проблему

    31.03.2015
  • При этом я получаю, что Microsoft.Office.Interop.Outlook.MailItem не содержит определения для IsBodyHtml, и метод расширения IsBodyHtml, принимающий первый аргумент типа Microsoft.Office.Interop.Outlook.MailItem, не может быть найдено (вам не хватает директивы using или ссылки на сборку?) 28.12.2015
  • Новые материалы

    Управление DOM для чайников вроде меня
    Одной из первых вещей, которую мы рассмотрели, когда начали изучать Javascript во Flatiron, была модель DOM. Кто он? Чем он занимается? Он больше машина, чем человек? Ну да довольно много. ДОМ..

    Что такое структура данных?
    Структура данных хранит и извлекает данные. Все, что обеспечивает эти две функции, является структурой данных . Период. Вы можете пропустить оставшуюся часть статьи, если ответ..

    мои январские чтения по программированию
    Эрик Эллиот Программирование приложения JavaScript Эл Свейгарт «Автоматизируйте скучные вещи с помощью Python» Прогрессивное веб-приложение Google..

    Создание ассоциаций секвелизации с помощью инструмента командной строки Sequelize
    Sequelize - популярный, простой в использовании инструмент объектно-реляционного сопоставления (ORM) JavaScript, который работает с базами данных SQL. Довольно просто начать новый проект с..

    Искусственный интеллект в юридической отрасли - пример прогнозирования судебных решений с помощью глубокого обучения
    На протяжении всей истории люди полагались на суды, присяжных, королей и королев в отправлении правосудия. Сегодня способность судов обеспечивать справедливое и быстрое правосудие для своих..

    Введение в машинное обучение для обнаружения аномалий (часть 1)
    Тщательно созданный, тщательно спроектированный ресурс для специалистов по данным. Часть 1 Главы 03 из Руководства по машинному обучению для обнаружения аномалий Внимание! Прежде чем вы..

    Начало работы с Pulumi в Digital Ocean
    Цифровой океан (ДО) — отличная альтернатива многим другим поставщикам облачных услуг. DO предоставляет простой и понятный пользовательский интерфейс, упрощающий управление инфраструктурой и..