Mailkit MimeKit.MimeMessage error: Unknown initialization parameter: 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[]
其次我阅读了这个很棒的答案 什么是重新发送的参数?如果我设置它们,我对转发电子邮件的评论未设置?并且那封电子邮件很明显没有任何更改?
Unknown initialization parameter: System.Byte[]
这意味着没有 MimeMessage
构造函数采用 byte[]
参数。
换句话说,你不能这样做:
var file = System.IO.File.ReadAllBytes("sample.eml"));
var orgMessage = new MimeKit.MimeMessage(file);
从文件加载消息的正确方法是:
var orgMessage = MimeMessage.Load ("sample.eml");
Second I read this great answer Forward email using MailKit (C#) and what is resent parameters for? if i set them my comment on forwarded email not set? and that email resent clearly without any change?
MimeMessage.Resent*
属性仅在转发邮件而不将其附加到新邮件时使用。
您只需要在链接到我的答案的 3 个解决方案中选择一个。
如果您要附加原始邮件(就像您正在做的那样),那么您不应该使用 MimeMessage
.
的 Resent
属性
我想在添加一些评论后转发一封电子邮件。原始电子邮件保存为 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[]
其次我阅读了这个很棒的答案
Unknown initialization parameter: System.Byte[]
这意味着没有 MimeMessage
构造函数采用 byte[]
参数。
换句话说,你不能这样做:
var file = System.IO.File.ReadAllBytes("sample.eml"));
var orgMessage = new MimeKit.MimeMessage(file);
从文件加载消息的正确方法是:
var orgMessage = MimeMessage.Load ("sample.eml");
Second I read this great answer Forward email using MailKit (C#) and what is resent parameters for? if i set them my comment on forwarded email not set? and that email resent clearly without any change?
MimeMessage.Resent*
属性仅在转发邮件而不将其附加到新邮件时使用。
您只需要在链接到我的答案的 3 个解决方案中选择一个。
如果您要附加原始邮件(就像您正在做的那样),那么您不应该使用 MimeMessage
.
Resent
属性