Как отправить HTML-сообщение через Mimekit/Mailkit

BodyBuilder bodyBuilder = new BodyBuilder();
messageContent.Body = "<b>This is a test mail</b>";
bodyBuilder.HtmlBody = messageContent.Body;

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

4 ответов


С помощью BodyBuilder Как вы делаете, вероятно, самый простой способ.

var bodyBuilder = new BodyBuilder ();
bodyBuilder.HtmlBody = "<b>This is some html text</b>";
bodyBuilder.TextBody = "This is some plain text";

message.Body = bodyBuilder.ToMessageBody ();

client.Send (message);

Документация MimeKit-Создание Сообщений

var message = new MimeMessage();    
message.Body = new TextPart ("html") { Text = "<b>Test Message</b>" };

" TextPart является частью MIME листового узла с текстовым типом носителя. Первый аргумент конструктора TextPart указывает подтип носителя:простые, HTML-код, обогащенный, rtf и xml."


один вариант здесь, Если вы хотите быть строгим;

msg.Body = new TextPart(MimeKit.Text.TextFormat.Html) { Text = "<b>html content</b>" };

var bodyBuilder = new BodyBuilder();
bodyBuilder.HtmlBody = body;
bodyBuilder.TextBody = "-";

message.Body = bodyBuilder.ToMessageBody();

в некоторых почтовых ISP, вы всегда должны установить культуриста.TextBody по значению.