从Exchange 2003获取邮件

时间:2011-10-05 11:26:45

标签: c# email exchange-server

我们正在自动化测试用例,一个特定的测试用例涉及让应用程序发送电子邮件,并验证是否已收到电子邮件。

我想(以某种方式)使用给定的用户帐户连接到Exchange服务器(2003)并提取收件箱消息,并确保收到我期待的消息。

此方案有一些限制:

  1. 这些测试通常在实验室环境中进行,没有外部连接到互联网。这意味着服务器(交换机)必须驻留在我们的envinronment中(例如,不能使用Gmail)。

  2. 由于Exchange 2007及更高版本支持EWS和更新的API,因此无法使用它们。

  3. 在网上尝试了一些提到的技术但没有成功(例如WebDAV)。

  4. 是否有可靠的来源来完成此要求?你会推荐什么技术?

2 个答案:

答案 0 :(得分:1)

您可以概率地使用Redemption library

该库使用Outlook作为Exchange的入口点,这意味着您必须在运行测试的emachine上安装和配置Outlook。我的猜测是因为这只是出于测试目的,这是一个可接受的限制。

答案 1 :(得分:1)

赎回是一种选择;它直接使用MAPI。 Outlook不是必需的。

话虽如此,WebDAV在这里是一个有效的选择。您需要执行两个步骤:

  1. 在相关邮箱上发出SEARCH命令。
  2. 如果您需要MIME格式的整个邮件,请在搜索请求返回的href上发出GET。在请求中添加“Translate:f”标头。如果您只想以结构化方式检查邮件,请在href上发出PROPFIND
  3. 我有一个库可以完成所有这些工作。如果您通过我的网站(http://www.infinitec.de)ping我,我可以发送给您。