背景: 我正在開發一個Outlook外掛程序,它將附件添加到外發電子郵件中。所有版本的Outlook都需要支持。如何檢測Outlook是否默認數字簽名電子郵件?
當使用數字簽名對MailItem進行簽名時,除非保存郵件項目,否則向該郵件項目添加附件通常會失敗。這將從mailitem中刪除簽名。對我而言,這是有些預期的行爲。這裏沒什麼奇怪的。
問題出在用戶打開數字簽名時(無論是通過UI還是Outlook默認行爲),然後再次將其關閉。 MailItem不再簽名,但仍然表現得如同 - 我們無法將附件添加到此電子郵件中。
我發現了一個可能解釋原因的新聞組帖子;看來通過outlook API檢索的對象不是實際的對象。
目前,我已經放棄了試圖很好地解決這個問題;將MailItem保存到臨時文件似乎可以解決此問題,但出於性能方面的原因,我們只希望在MailItem從已簽名轉換爲未簽名時保存。另一個可接受的選擇是檢測數字簽名是否默認啓用。雖然有一個與數字簽名的默認設置相關的註冊表項,但這僅僅是一個建議,並不能準確反映電子郵件是否默認簽名。
任何想法?
從贖回電話實際上並沒有工作,這是令人驚訝的。 PInvoke是一個好主意;但是我們已經有了一個C++包裝器,所以不妨在這裏叫它:) – MauriceL 2010-08-05 08:41:55