2016-12-15 28 views
8
BodyBuilder bodyBuilder = new BodyBuilder(); 
messageContent.Body = "<b>This is a test mail</b>"; 
bodyBuilder.HtmlBody = messageContent.Body; 

Tôi đã cố gắng nhúng cơ thể của mình vào một người tập thể hình nhưng khi tôi nhận được email, nó đã trả về một cơ thể trống. Tôi có một ngoại lệ sẽ ném một đối số nếu cơ thể trống.Cách gửi tin nhắn HTML qua Mimekit/Mailkit

Trả lời

26

Sử dụng BodyBuilder giống như bạn đang làm có lẽ là cách dễ nhất.

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); 
+0

Nếu bạn chỉ bao gồm 'HtmlBody' chứ không phải' TextBody', có nguy cơ bị nhận dạng là spam chỉ bao gồm một chứ không phải cả hai không? – NoReceipt4Panda

+0

Điều đó có thể phụ thuộc vào phần mềm thư của người nhận – jstedfast

+0

Các mẫu thế giới thực khác? – Kiquenet

7

MimeKit Documentation - Creating Messages

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

"Một TextPart là một MIME phần nút lá với một văn bản truyền thông-type Đối số đầu tiên để các nhà xây dựng TextPart quy định các phương tiện truyền thông kiểu phụ:. đồng bằng, html, được làm giàu, rtfxml. "

0

Một tùy chọn khác ở đây nếu bạn muốn nghiêm ngặt;

msg.Body = new TextPart(MimeKit.Text.TextFormat.Html) { Text = "<b>html content</b>" }; 
Các vấn đề liên quan