使用邮件监控 Exchange

使用邮件监控 Exchange

目的:

我需要检查 Exchange 电子邮件服务器 2007(如果可访问,传送时间...)但我遇到了一些严重的限制(EWS 和 ping 被禁用,并且只有 Outlook 可以在内部访问它,外部访问需要使用 Outlook Web Access 完成)。

追随的轨迹:

鉴于这些情况,我计划执行以下操作 - 使用外部邮件服务器将测试邮件(带有嵌入式标识符)发送到 Exchange 上的指定地址,然后 Exchange 将发回一封响应邮件,其中包含服务器接收时的当前时间和标识符。标识符是一个字符串,可以位于主题中或内容中。

问题:

使用 Exchange Server,如何发回一封附加了接收时的服务器时间的邮件。

已测试:

  • 缺勤管理员发回了一封带有原始主题(适合识别)的回复邮件,但内容太简单(只有纯文本)并且似乎无法在其中插入时间。
  • 使用规则操作“使用模型发送邮件”,可以在模型内容中插入一个快速部分以提供当前时间,但我无法从原始邮件(甚至不是原始主题)中获取数据(标识符)。(仅适用于 Outlook 客户端(?),不好:我需要在服务器上运行规则)
  • 使用规则操作 transfert 将原始邮件不经修改地发回。
  • 如果该脚本可以包含在规则脚本中的服务器中,则使用 VB 脚本可以正确完成工作,但 Exchange Transport Hub 不提供这种可能性(仅限于 Outlook 客户端)。

注意:如果您能想到其他方法来实现我的目标,我也欢迎您。

答案1

我不确定你为什么要把它搞得这么复杂。

只需向服务器发出手动 SMTP 连接即可。如果它发送了问候语,那么您就知道它在线。如果是,则继续发送其余邮件。测量连接和断开连接之间的时间,您就会得到发送和交付所用的时间。完成。

您可以在服务器上丢弃该邮件。

答案2

我不完全确定我是否理解了你的要求。

我去年编写了一个 Exchange 2003 监控脚本并将其发布在Microsoft 的 Technet 脚本中心存储库和我的GitHub 帐户

正如我在代码和说明中所描述的,由于我无法访问 E2k7,因此部分功能在 Exchange 2007 中无法工作(可能是数据存储检查和您描述的 ping 检查)。

话虽如此,该脚本确实会发送电子邮件,并且可以很容易地在通过该脚本发送的电子邮件中添加日期戳。

通常我会从域中的非 Exchange 服务器运行此程序(作为计划任务),但也可以在其中一台邮件服务器上运行它。请阅读脚本的说明以了解详细信息。

就像我说的,我不知道我的代码有多少能在您的特定环境中运行(由于服务器版本和限制),但我希望它能给您一些帮助。

答案3

不必深入讨论你的问题(因为我读的时候头就开始疼了),有许多监控应用程序可以通过 SMTP 发送电子邮件并通过 POP 收集电子邮件。这称为循环测试。这基本上涵盖了基础知识。

这将是对 Exchange 的几乎每个组件的测试,因为几乎任何故障(SMTP 停机、服务器停机、IS 卸载等)都会导致测试失败,这将提示您存在问题,然后您可以进行调查。如果测试成功,您可以放心,所有关键组件(Web 访问除外)都可以运行。

我从一个离网监控系统执行这个测试,如果环路测试失败,它将通过自己的 SMTP 引擎发送电子邮件。这会提醒我 Exchange 服务器有问题,然后我会去调查。

相关内容