Отправьте электронное письмо с файлом HTML как body (С#)

Как настроить тело MailMessage на HTML файл?

Спасибо

Ответы

Ответ 1

Просто установите свойство MailMessage.BodyFormat в MailFormat.Html, а затем выгрузите содержимое вашего html файла в свойство MailMessage.Body:

using (StreamReader reader = File.OpenText(htmlFilePath)) // Path to your 
{                                                         // HTML file
    MailMessage myMail = new MailMessage();
    myMail.From = "[email protected]";
    myMail.To = "[email protected]";
    myMail.Subject = "HTML Message";
    myMail.BodyFormat = MailFormat.Html;

    myMail.Body = reader.ReadToEnd();  // Load the content from your file...
    //...
}

Ответ 2

В случае, если вы используете System.Net.Mail.MailMessage, вы можете использовать:

mail.IsBodyHtml = true;

System.Web.Mail.MailMessage устарел, но если он используется: mail.BodyFormat работает.

Ответ 3

Здесь простой пример. И здесь, который включает встроенное изображение (в отличие от ссылки img к веб-источнику, который многие клиенты электронной почты не будут отображать).

Изменить: вы можете, конечно, прочитать html файл с помощью File.ReadAllText, который вы использовали бы как в ссылках.