亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶有 Outlook 的 C#...將簽名添加到 RTFBody 電子郵件而不是 HTMLBody

帶有 Outlook 的 C#...將簽名添加到 RTFBody 電子郵件而不是 HTMLBody

C#
神不在的星期二 2022-06-18 16:20:18
我有一封由 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 itemoMailItem.To = emailform.ToMain;oMailItem.CC = ccStrings;oMailItem.BCC = emailForm.BCC;oMailItem.Subject = emailForm.Subject;oMailItem.RTFBody = GetRTBText(); //function to get RTF byte arrayprivate byte[] GetRTBText() {   Clipboard.Clear();   RTBBody.SelectAll();   RTBBody.Copy();   return Encoding.UTF8.GetBytes(Clipboard.GetText(TextDataFormat.Rtf));}更新:因此,當我使用 omail.RTFBody 對 oMail.HTMLBody 執行類似的技巧并用它連接某些東西時,看起來我可以顯示簽名。現在的問題是原始項目沒有顯示,因為它說你不能添加字節[]。我要么需要覆蓋這個實例的 + 運算符,要么弄清楚如何向它添加一個空字節 arr ......因此,我嘗試將返回的字節數組與空字節數組連接起來。引發內存不足異常。我試圖與 oMailItem.RTFBody 電子郵件項目本身連接,同樣的問題......不知道還能做什么......當我這樣做時,即使它拋出一個錯誤,簽名也會出現,只是電子郵件的正文沒有。
查看完整描述

2 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

您可以將 RTF 正文讀入隱藏的 RTF 控件,加載 RTF 簽名文件數據,然后將其插入到 RTF 控件中——我為此使用了EM_EXSETSELEM_STREAMINSF_RTF | SFF_SELECTION) Windows API 消息。然后,您可以將生成的 RTF 流式傳輸出去。



查看完整回答
反對 回復 2022-06-18
?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

好的,我想出了一種解決方法,方法是顯示電子郵件以便顯示簽名,然后獲取 mailItem 的 HTMLBody,并將其放入 webbrowser 文檔實例中,然后將其復制并粘貼到富文本框,然后然后將富文本框文本編碼為 RTFBody 中的字節數組。

它可以將正確的信息放在那里,但沒有正確的字體和顏色。如果有另一種使用實際 HTMLBody 的方法,我想知道如何......


查看完整回答
反對 回復 2022-06-18
  • 2 回答
  • 0 關注
  • 237 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號