web-dev-qa-db-ja.com

Mimekit / Mailkit経由でHTMLメッセージを送信する方法

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

私はボディビルダーにボディを埋め込もうとしましたが、メールを受け取ったときに空のボディを返しました。本体が空の場合に引数をスローする例外があります。

27
astropringles

あなたがしているように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);
45
jstedfast

MimeKitドキュメンテーション-メッセージの作成

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

「TextPartは、テキストメディアタイプを持つリーフノードMIMEパートです。TextPartコンストラクターの最初の引数は、メディアサブタイプを指定します:plainhtmlenrichedrtf 、およびxml。」

21
Stephen C

厳密にしたい場合は、ここにもう1つのオプションがあります。

msg.Body = new TextPart(MimeKit.Text.TextFormat.Html) { Text = "<b>html content</b>" };
9
Josh
var bodyBuilder = new BodyBuilder();
bodyBuilder.HtmlBody = body;
bodyBuilder.TextBody = "-";

message.Body = bodyBuilder.ToMessageBody();

一部のメールISPでは、値によってbodyBuilder.TextBodyを常に設定する必要があります。

0
Lei Chi