2015-05-14 54 views
0

我们目前有一个团队使用我们内部开发的附加到发送事件的Outlook加载项(称为加载项A),并且如果有关发件人地址和主题被满足,表单被显示,数据被写入SQL数据库并且电子邮件被发送。这工作正常。冲突的Outlook加载项问题

我们刚刚在公司范围内推出了一个第三方Outlook加载项(称为加载项B),用于检查您发送的任何电子邮件,看他们是否要去外部地址,以及如果所以问你是否确定要发送。再次,这工作正常。

问题在于这两者结合在一起时。虽然没有任何技术问题发生冲突或类似情况,但您可以尝试发送电子邮件,加载项A,用户完成表单并将数据写入数据库时​​存在潜在的逻辑错误。然后插件B踢进来,警告用户他们发送一封外部电子邮件,他们决定不发送,整个过程被取消。但是,数据库已更新,说它已发送,这是不正确的。

我正在努力想办法阻止这种情况 - 如果我们可以强制插件B在加载项A之前触发,那么这将解决问题,但我敢肯定,你不能指定每个加载项应该触发或启用的顺序,并且我们无法控制加载项B的代码,因为它是第三方产品。

任何建议,以防止这是一个可能的结果吗?

回答

0

首先,您可以在Outlook中处理已发送邮件文件夹的ItemAdd事件,以确保邮件项目(Outlook项目)确实发送。请注意,可以使用MailItem类的SaveSentMessageFolder属性将已发送邮件文件夹指定为运行时。

另外,您也可以选择加载项的ProgID名称,以确保加载项加载在其他页面之后。事件按相反顺序触发。但所有这些事实都没有记录,可以随时更改。没有人能保证它始终保持稳定。