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

我试图将我的身体嵌入一个健美运动员,但是当我收到电子邮件时,它返回了一个空的身体。如果正文为空,我有一个异常会引发参数。

4

4 回答 4

80

使用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);
于 2016-12-15T14:35:22.053 回答
35

MimeKit 文档 - 创建消息

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

“TextPart 是具有文本媒体类型的叶节点 MIME 部分。TextPart 构造函数的第一个参数指定媒体子类型:plainhtmlenrichedrtfxml。”

于 2017-02-13T16:14:41.843 回答
20

如果您想严格一点,这里还有另一种选择;

msg.Body = new TextPart(MimeKit.Text.TextFormat.Html) { Text = "<b>html content</b>" };
于 2018-02-14T09:37:56.960 回答
1
var bodyBuilder = new BodyBuilder();
bodyBuilder.HtmlBody = body;
bodyBuilder.TextBody = "-";

message.Body = bodyBuilder.ToMessageBody();

在某些邮件 ISP 中,您应该始终按值设置 bodyBuilder.TextBody。

于 2018-08-08T03:29:09.200 回答