我在这里有一个问题,我们需要从Embarcadero Delphi 2010控制Outlook。
我们今天使用了一些第三方组件来打开邮件发送窗口,这可以解决一些时间问题。但现在它似乎在较新的Outlook版本上失败了。
是否有任何组件专门用于控制Delphi的Outlook,或者是否有任何MAPI客户端可以作为更好的替代品。
我们需要做的基本上是: 1.在Outlook中启动新邮件(将收件人作为参数发送) 2.接收已发送的消息,以便我们存储它 3.将Outlook中的消息拖放到我们的应用程序中。
如果最终用户不使用outlook,则正常的MAPI就足以作为替换。
我在哪里找到一个很好的健壮组件来为我做这样的工作?
答案 0 :(得分:5)
对于前两个步骤,使用与Delphi捆绑在一起的Outlook2000.pas
单元的常规OLE自动化应该可以正常工作,但您可能需要查看Dmitry Streblechenko的Redemption库:http://dimastr.com/redemption/这简化了许多更低级别(扩展)MAPI任务显着。
要拦截已发送的邮件,您应创建TItems
的实例,并将其连接到您可以从OutlookApplication.Session.GetDefaultFolder(olFolderSentMail)
获取的文件夹参考。然后,您可以为其OnItemAdd
事件分配事件处理程序。
对于阻力&从Outlook下载到您的应用程序中,您可以查看Anders Melanders优秀(和免费)Drag& Drop库(包括与Outlook交互的示例):http://melander.dk/delphi/dragdrop/
答案 1 :(得分:1)
我很久以前就已经使用过这些组件而且非常棒
http://www.add-in-express.com/add-in-delphi/
以下是Outlook的一些功能
http://www.add-in-express.com/add-in-delphi/programming-outlook.php