使用MsgKit创建MSG文件:如何正确调用AddProperty方法?
解决MsgKit添加BillingInformation属性的问题
要在MsgKit中添加BillingInformation属性,你需要使用对应的MAPI属性标签PR_BILLING_INFORMATION_W(这是Unicode版本的属性标签,对应Outlook中的Billing信息字段)。以下是修正后的代码:
using (var email = new Email( new Sender(SenderTextBox.Text, string.Empty), SubjectTextBox.Text, DraftMessageCheckBox.Checked, ReadReceiptCheckBox.Checked)) { email.Recipients.AddTo(ToTextBox.Text); email.Subject = SubjectTextBox.Text; email.BodyText = TextBodyTextBox.Text; // 注意路径转义,或者使用@前缀避免转义 email.Attachments.Add(@"Images\peterpan.jpg"); // 添加BillingInformation属性,使用对应的MAPI属性标签 email.AddProperty(MapiPropertyTag.PR_BILLING_INFORMATION_W, "abcd"); // 同样修正路径转义 email.Save(@"c:\temp\email.msg"); } System.Diagnostics.Process.Start(@"c:\temp\email.msg");
关键说明:
MapiPropertyTag.PR_BILLING_INFORMATION_W是MsgKit定义的枚举值,对应Outlook邮件的Billing Information字段,必须使用这个标签才能让Outlook正确识别该属性。- 注意代码中的路径字符串:C#中反斜杠需要转义(写成
\\),或者在字符串前加@符号使用逐字字符串,避免转义错误。 - 确保你的项目已经正确引用了MsgKit库,并且导入了
MsgKit.Enums命名空间(MapiPropertyTag位于该命名空间下)。
内容的提问来源于stack exchange,提问作者SigiK
相关产品推荐
相关产品推荐

