Как я могу установить тело MailMessage с HTML-файлом?
Просто установите для свойства MailMessage.BodyFormat значение MailFormat.Html , а затем сохраните содержимое файла html в свойстве MailMessage.Body :
using (StreamReader reader = File.OpenText(htmlFilePath)) // Path to your { // HTML file MailMessage myMail = new MailMessage(); myMail.From = "from@microsoft.com"; myMail.To = "to@microsoft.com"; myMail.Subject = "HTML Message"; myMail.BodyFormat = MailFormat.Html; myMail.Body = reader.ReadToEnd(); // Load the content from your file... //... }
Если вы используете System.Net.Mail.MailMessage, вы можете использовать:
System.Net.Mail.MailMessage
mail.IsBodyHtml = true;
System.Web.Mail.MailMessage устарел, но при его использовании: mail.BodyFormat работает.
System.Web.Mail.MailMessage
mail.BodyFormat
Вот простой пример . И вот тот, который включает в себя встроенное изображение (в отличие от img ссылки на веб-источник, который многие почтовые клиенты не будут отображать).
img
Редактировать: Конечно, вы можете прочитать html-файл с помощью File.ReadAllText, который вы бы использовали, как в ссылках.
File.ReadAllText