如何通过Mimekit / Mailkit发送HTML消息

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

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

像你一样使用BodyBuilder可能是最简单的方法。

 var bodyBuilder = new BodyBuilder (); bodyBuilder.HtmlBody = "This is some html text"; 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 = "Test Message" }; 

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

如果你想严格要求,另外一个选择;

 msg.Body = new TextPart(MimeKit.Text.TextFormat.Html) { Text = "html content" }; 
 var bodyBuilder = new BodyBuilder(); bodyBuilder.HtmlBody = body; bodyBuilder.TextBody = "-"; message.Body = bodyBuilder.ToMessageBody(); 

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