我有一封由 C# 使用 Outlook Interop 生成的电子邮件,但我需要使用 RTFBody,因为它是 RTF 格式的,而不是 HTMLBody,这是我看到能够在其中添加签名的所有示例的地方。
我正在尝试做类似的事情,但这对我不起作用。有什么建议可以让它在 Outlook 2016 中工作吗?
MyOutlook.Mailitem oMailItem =(MyOutlook.MailItem)oApp.CreateItem(MyOutlook.olItemType.olMailItem);
oMailItem.Display(oMailItem); //create the empty mail item
oMailItem.To = emailform.ToMain;
oMailItem.CC = ccStrings;
oMailItem.BCC = emailForm.BCC;
oMailItem.Subject = emailForm.Subject;
oMailItem.RTFBody = GetRTBText(); //function to get RTF byte array
private byte[] GetRTBText() {
Clipboard.Clear();
RTBBody.SelectAll();
RTBBody.Copy();
return Encoding.UTF8.GetBytes(Clipboard.GetText(TextDataFormat.Rtf));
}
更新:
因此,当我使用 omail.RTFBody 对 oMail.HTMLBody 执行类似的技巧并用它连接某些东西时,看起来我可以显示签名。现在的问题是原始项目没有显示,因为它说你不能添加字节[]。我要么需要覆盖这个实例的 + 运算符,要么弄清楚如何向它添加一个空字节 arr ......
因此,我尝试将返回的字节数组与空字节数组连接起来。引发内存不足异常。我试图与 oMailItem.RTFBody 电子邮件项目本身连接,同样的问题......
不知道还能做什么......当我这样做时,即使它抛出一个错误,签名也会出现,只是电子邮件的正文没有。
神不在的星期二
长风秋雁
千万里不及你
随时随地看视频慕课网APP
相关分类