将拖放功能从MS Outlook实现到我们的Web应用程序中


Implementing a Drag-and-Drop function from MS Outlook into our web application

我们正在寻找一些开发指南/帮助,以将拖放功能从MS Outlook实现到我们的Web应用程序(目前正在开发中)。我们的最终目标是让我们的用户能够将电子邮件从他们的 Outlook 实例拖到我们在其浏览器中运行的应用程序中。就目前而言,我们能够使用文件(例如从用户的桌面)实现此功能,但不能直接从 Outlook 实现此功能。

我们的应用程序是使用Visual Studio for PHP和SQL Server 2012后端开发的。

我们迄今为止的进展:• 我们的页面上有一个HTML5控件,它接收javascript onDrop/OnDropStart/etc事件,并能够枚举和检索其中的内容,文件或其他;• 从 Outlook 拖动电子邮件(或其他对象,如联系人)时(在 Outlook 2010 中测试),我们可以枚举纯文本数据,但不能枚举电子邮件的 MIME 内容(邮件或附件)• 我们能够枚举和检索电子邮件的纯文本和 HTML 内容,方法是对内容进行 Ctrl+A 操作,并将其拖到 HTML 控件中。

我们需要帮助的地方是了解如何从浏览器有权访问的拖放事件中访问和检索电子邮件的完整 MIME 内容。我们知道Visual Studio的PIO包可以为本地.NET应用程序启用此功能,但是我们似乎无法将其用于Web应用程序。

由于该产品处于早期开发阶段,因此我们愿意接受Microsoft关于如何最好地实现这一目标的建议和指导,包括我们是否可以使用 Web 应用程序的 .NET 或 ASP 控件完成此操作。

参见相关的SO帖子

理论上,您可以为 IE 创建一个浏览器帮助程序对象 (dll)(可以为其他浏览器执行此操作,请参阅 Google Gears),该对象在浏览器窗口上安装自己的拖放处理程序并保存旧的 IDropTarget 对象。从Outlook拖动邮件时,您将获得CF_FILEDESCRIPTORCF_FILECONTENTS格式(IE无法理解),创建一个临时文件,并将假CF_HDROPIE知道如何处理)传递给浏览器提供的旧放置处理程序。

我这样做了两次(FF 3.6 和 IE),它似乎工作得很好。

另请记住,Outlook 不会保留在原始 MIME 源中。拖动时,您能做的最好的事情就是获取 MSG 格式的消息,然后您可以使用扩展 MAPI(C++ 或 Delphi)或直接 COM API(MSG 是 OLE 存储文件)读取该消息。

天哪,我找到了一个免费的解决方案:https://tonyfederer.github.io/OutlookFileDrag/

我看着 https://outlook2web.com/

和 https://www.wilutions.info/ddaddin-download.html

但是免费的运行良好,而且是开源的!呜呼!我真的需要它。

相关文章: