在用户下载之前在服务器上以编程方式预填“Outlook窗体”

在用户下载之前在服务器上以编程方式预填“Outlook窗体”

问题描述:

我确实有一个现有的Outlook窗体,它已经具有预定义的逻辑,命名字段和组合框。 这种形式是不同公寓的标准输入,所以我不允许以破坏其处理的方式来改变形式。在用户下载之前在服务器上以编程方式预填“Outlook窗体”

我需要做的是在服务器端预先填充表单的一些字段,并在其中提供信息,并将其作为.msg文件提供给最终用户。 然后,用户可以修改某些字段,包括我预先填写的字段和其他字段。

我的问题是,是否有任何API或“找到&替换”技巧,我可以用来在我的服务器上以编程方式预先填充Outlook窗体的属性?如果它有帮助,价值。

我尝试了一种简单的方法,将$ NAME $放入属性值中,然后做一个简单的文本替换,但Outlook无法打开.msg之后 - 我假设内部有一些校验和或依赖关系数据结构。

首选平台是.NET或Java,但其他选项也不错。

Outlook Object Modle可以使用Namespace.OpenSharedItem打开MSG文件,但OOM无法从服务(如IIS)使用。
您可以打开和使用扩展MAPI(C++或仅德尔福)使用OpenIMsgOnIStg
在.NET或Java的情况下修改味精文件,你可以使用Redemption及其RDOSessionGetMessageFromMsgFile方法(返回RDOMail对象)。您可以使用RDOMail.Fields[]修改属性,然后通过调用RDOMail.Save保存MSG文件。
您可以查看OutlookSpy中的现有MAPI属性及其DASL名称(单击OpenIMsgOnIStg按钮)。

+0

谢谢,Outlook对象模型确实有效。我已经读过,服务器上的Outlook自动化没有得到正式支持,但是有什么能够积极地阻止它吗?它看起来优于其他选项,并且可以在没有额外购买的情况下使用。 –

+0

服务器很好,它是一个服务,是一个问题。 Outlook将崩溃或挂起。不是一个问题,而是一个问题。 –

+0

如果服务器启动一个cmd工具作为一个新进程,并且实际的办公互操作是通过该工具完成的,它会起作用吗?我已经测试过,它的工作方式也是一样,我可以在一秒钟左右的时间内提供文件。 我无法自己测试的东西是崩溃的情况,这就是为什么我问... –