簡體   English   中英

Mailkit MimeKit.MimeMessage錯誤:未知的初始化參數:System.Byte []

[英]Mailkit MimeKit.MimeMessage error: Unknown initialization parameter: System.Byte[]

在添加一些評論之后,我想轉發一封電子郵件。 原始電子郵件另存為eml文件,因此我首先加載該文件,然后將我的評論添加到正文或附加一些新文件,然后將電子郵件重新發送到新的電子郵件地址。

var mail = new MimeKit.MimeMessage();
var file = System.IO.File.ReadAllBytes("sample.eml"));
var orgMessage = new MimeKit.MimeMessage(file);

var builder = new MimeKit.BodyBuilder();
builder.TextBody = "user comment";
builder.Attachments.Add(new MimeKit.MessagePart { Message = orgMessage });
mail.Body = builder.ToMessageBody();

首先,在第3行中,我得到以下錯誤:未知的初始化參數:System.Byte []

其次,我讀了這個很棒的答案使用MailKit(C#)轉發電子郵件,重發參數有什么用? 如果我將它們設置為我對轉發電子郵件的評論未設置? 並清楚地重新發送了該電子郵件,沒有任何更改?

未知的初始化參數:System.Byte []

這意味着沒有MimeMessage構造函數采用byte[]參數。

換句話說,您不能這樣做:

var file = System.IO.File.ReadAllBytes("sample.eml"));
var orgMessage = new MimeKit.MimeMessage(file);

從文件加載消息的正確方法是:

var orgMessage = MimeMessage.Load ("sample.eml");

其次,我讀了這個很棒的答案使用MailKit(C#)轉發電子郵件,重發參數有什么用? 如果我將它們設置為我對轉發電子郵件的評論未設置? 並清楚地重新發送了該電子郵件,沒有任何更改?

MimeMessage.Resent*屬性僅在轉發郵件而不將其附加到新郵件時使用。

您只需在鏈接的我的答案中選擇3個解決方案之一。

如果您要附加原始消息(如您​​所做的那樣),則不應使用MimeMessageResent屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM