Это работает отлично для отправки электронных писем (Outlook) в формате HTML путем присвоения строки типа текста/содержимого HTML как так:
using (MailMessage message = new MailMessage())
{
message.From = new MailAddress("--@---.com");
message.ReplyTo = new MailAddress("--@---.com");
message.To.Add(new MailAddress("---@---.com"));
message.Subject = "This subject";
message.Body = "This content is in plain text";
message.IsBodyHtml = false;
string bodyHtml = "<p>This is the HTML <strong>content</strong>.</p>";
using (AlternateView altView = AlternateView.CreateAlternateViewFromString(bodyHtml,
new ContentType(MediaTypeNames.Text.Html)))
{
message.AlternateViews.Add(altView);
SmtpClient smtp = new SmtpClient(smtpAddress);
smtp.Send(message);
}
}
Электронная почта правильно распознана как HTML в Outlook (2003).
Но если я пробую обогащенный текст:
MediaTypeNames.RichText;
Outlook не обнаруживает это, он отступает к простому тексту.
Как я посылаю электронное письмо в формате RTF?
Есть, вы не можете легко сделать это легко использовать System.net.mail.
Богатый текст в Outlook отправляется в виде файла winmail.dat в мире SMTP (вне обмена).
Файл winmail.dat - это сообщение TNEF. Итак, вам нужно будет создать свой RichText внутри файла winmail.dat (отформатирован к правилам Tnef).
Однако это не все. Outlook использует специальную версию сжатого RTF, поэтому вам также нужно будет сжать ваш RTF вниз, прежде чем он добавлен в файл winmail.dat.
Нижняя строка, это трудно сделать, и если клиент действительно не нуждается в этой функциональности, я бы повторю его.
Это не то, что вы можете сделать с несколькими строками кода в .NET.