outlook大型附件管理

outlook大型附件管理,outlook,vsto,mapi,Outlook,Vsto,Mapi,我将开发一个outlook插件,从电子邮件中分离巨大的附件,并将这些附件上传到FTP站点 在插件的第一个版本中,我完成了Application.ItemSend事件中的所有工作,但是当附件非常大(大于1GB)时,这个解决方案并不令人满意,因为用户上传文件时UI会冻结 一项强制性要求是,只有在上传到ftp站点完成后,才能发送电子邮件。有没有更好的方法来实现outlook解决方案的想法?你是说用户界面在上传文件时会冻结?在上载仍在进行时显示模式对话框,并在单独的线程上执行实际上载。是的,在我上载文件

我将开发一个outlook插件,从电子邮件中分离巨大的附件,并将这些附件上传到FTP站点

在插件的第一个版本中,我完成了Application.ItemSend事件中的所有工作,但是当附件非常大(大于1GB)时,这个解决方案并不令人满意,因为用户上传文件时UI会冻结


一项强制性要求是,只有在上传到ftp站点完成后,才能发送电子邮件。有没有更好的方法来实现outlook解决方案的想法?

你是说用户界面在上传文件时会冻结?在上载仍在进行时显示模式对话框,并在单独的线程上执行实际上载。

是的,在我上载文件时UI会冻结。如果用户单击“发送”按钮时将邮件项目移动到“发件箱”文件夹,以便outlook可用于其他任务,那就太好了。这与普通邮件的行为相同。附件的上传应在后台完成,邮件项目应保留在发件箱文件夹中,直到上传完成。我的问题是,我不知道如何在发件箱文件夹中管理此类邮件项目。当ItemSend事件激发时,启动计时器(您需要退出事件处理程序才能执行一些操作)。当计时器启动时,禁用它(这样它就不会再次启动),将邮件移动到发件箱文件夹,保存附件(您只能在主线程上执行此操作),然后在辅助线程上开始上载。上传完成后,删除附件,调用MailItem.Send(确保不处理同一项目两次)。