从delphi控制邮件客户端

Pla*_*ort 1 delphi mapi outlook outlook-addin

我有一个问题,我们需要从Embarcadero Delphi 2010控制Outlook.

我们今天使用了一些第三方组件来打开邮件发送窗口,这工作了一些时间.但现在它似乎在较新的Outlook版本上失败了.

是否有任何组件专门用于控制Delphi的Outlook,或者是否有任何MAPI客户端可以作为更好的替代品.

我们需要做的基本上是:1.在Outlook中启动新消息(发送收件人作为参数)2.接收发送的消息,以便我们可以存储它3.将消息从outlook拖放到我们的应用程序.

如果最终用户不使用outlook,那么正常MAPI就足以作为替换.

我在哪里可以找到一个很好的组件来为我做这样的工作?

Oli*_*sen 5

对于前两个步骤,使用Outlook2000.pas与Delphi捆绑在一起的单元的常规OLE自动化应该可以正常工作,尽管您可能需要查看Dmitry Streblechenko的Redemption库:http://dimastr.com/redemption/ 它简化了许多更低的-level(扩展)MAPI任务显着.

要拦截已发送的消息,您应该创建一个实例TItems并将其连接到您可以从中获取的文件夹引用OutlookApplication.Session.GetDefaultFolder(olFolderSentMail).然后,您可以为其事件分配事件处理程序OnItemAdd.

要从Outlook拖放到您的应用程序中,您可以查看Anders Melanders优秀(和免费)拖放库(包括与Outlook交互的示例):http://melander.dk/delphi/dragdrop/