0

我有一个使用 Outlook 发送到分发列表的第三方应用程序。我认为这是使用扩展 MAPI 完成的。如果生成大量邮件,Outlook 可能会挂起,我想创建一个服务来读取存储在 MessageStore 的发件箱中的邮件,通过 SMTP 网关发送电子邮件并从发件箱中删除发送的邮件。所有这些都应该在不需要运行 Outlook 的情况下完成 - 但仍然会安装 Outlook。

我想知道如何在不使用任何第三方商业组件的情况下使用 Delphi 完成我刚才描述的内容。我已经研究了很多天,但找不到任何示例代码或示例。虽然有很多简单的 MAPI 代码。感谢任何指针。:)

4

2 回答 2

2

您需要的是 Outlook 自动化,为此您需要查看 Dmitry 已经提到的 Outlook 对象模型。

MSDN 上提供了有关 Outlook 对象模型的文档:http: //msdn.microsoft.com/en-us/library/aa221870 (v=office.11​​).aspx

这应该让您开始从任何应用程序自动化 Outlook:http: //msdn.microsoft.com/en-us/library/aa209963 (v=office.11​​).aspx是的,它是关于从 Visual Basic 应用程序自动化 Outlook,但无论您使用哪种环境来自动化 Outlook,这些概念都是相同的。

此外,Deborah Pate 的网站虽然似乎不再定期更新,但仍然包含有关从 Delphi 自动化任何 Office 应用程序的非常有价值的信息:http: //www.djpate.freeserve.co.uk/Automation.htm

从那里继续,这个问题将帮助您开始查找发件箱:Outlook 对象模型 - 检测邮箱

于 2012-05-11T07:16:03.743 回答
1

Outlook 异步发送消息,因此我认为问题是第三方应用程序 使用 Outlook 对象模型生成消息(这发生在 Outlook 主线程上)。一旦消息被提交,它们将被异步发送。

于 2012-05-11T05:42:43.467 回答