2
我打算開發一個outlook插件,用於從電子郵件中分離出巨大的附件並將這些附件上傳到FTP站點。outlook巨大的附件管理
在我的第一個插件版本中,我完成了Application.ItemSend事件中的所有工作,但是當附件非常巨大(大於1GB)時,此解決方案不令人滿意,因爲用戶上傳文件時UI凍結。
一個強制性的要求是,只有在上傳到FTP站點完成後才應發送電子郵件。任何關於更好的實現Outlook解決方案的想法?
是的,當我上傳文件時,UI會凍結。當用戶點擊發送按鈕時,將mailitem移動到發件箱文件夾以便Outlook可用於其他任務將會很好。這將是普通郵件的相同行爲。附件的上傳應該在後臺完成,並且mailitem應保留在發件箱文件夾中,直到上傳完成。我的問題是我不知道如何在發件箱文件夾中管理這樣的郵件項目 – simone
當ItemSend事件觸發時,啓動一個計時器(您需要脫離事件處理程序才能做一些事情)。當定時器觸發時,將其禁用(因此它不會再次觸發),將消息移動到發件箱文件夾,保存附件(只能在主線程中執行此操作)並在輔助線程上啓動上載。上傳完成後,刪除附件,調用MailItem.Send(確保不要處理相同的項目兩次)。 –