Отправить письмо с HTML-файлом в качестве тела (C #) - PullRequest
21 голосов
/ 21 июля 2009

Как я могу установить тело MailMessage с HTML-файлом?

Ответы [ 3 ]

41 голосов
/ 21 июля 2009

Просто установите для свойства 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...
    //...
}
17 голосов
/ 10 декабря 2015

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

mail.IsBodyHtml = true;

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

3 голосов
/ 21 июля 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...