是否可以使用 powershell 或队列查看器查看等待内部传送的外部电子邮件队列?
我们的硬盘已经满了,所以所有外部邮件都备份了,我想大致知道还剩下多少封。
答案1
我认为我们需要先了解电子邮件路由的一般原理。因此,如果外部服务器向您发送电子邮件,他会检查 MX 记录,然后找到要发送电子邮件的服务器。如果这是您的 Exchange 服务器(而不是防病毒/反垃圾邮件服务器或位于服务器前面的其他服务器(例如 SmartHost)),则远程服务器将尝试将该电子邮件直接发送到您的 Exchange 服务器。但是,由于您的 Exchange 服务器没有足够的 HD 空间,因此您的 Exchange 服务器应该向远程服务器发出以下错误消息:
Server Response: '452 4.4.5 Insufficient disk space; try again later',
但是远程端(而不是您)将决定何时再次触发电子邮件。因此,如果远程端认为在 15 分钟后再次尝试,然后在 15 分钟后再次尝试,直到他们最终放弃,那么如果您在第二次尝试之前没有修复空间问题,您可能永远不会收到该电子邮件。在这种情况下,发送该电子邮件的用户将收到一条错误消息(如果远程管理员没有构建一些奇怪的过滤规则)。但是,如果远程邮件服务器(默认设置)配置为在 24 小时后再次尝试,您可能仍会在下一次投递尝试期间收到大部分电子邮件。这意味着您无法监控在外部服务器上等待的电子邮件(如果您正在运行这样的构造,则可以检查 Exchange Server 前面的防病毒/反垃圾邮件服务器)。但是,如果您需要检查您的 MS Exchange Server(请注意,下面将显示所有队列),那么您可以通过以下方式进行检查:
Get-Queue -Server $env:computername
题外话:顺便说一下,有一种免费的监控解决方案叫做纳吉奥斯(这里是一个简短的安装指南,您可以使用它来开始使用该解决方案,它在 Debian 上运行,因此您不需要 Windows 许可证,只需要一些备用硬件,如果您真的需要削减成本,Rasperry Pi 可能对某些公司也适用。)。它的安装非常简单。它可以通过一些插件监控您的 Exchange 服务器(请参阅这里),还可以从 Exchange 服务器监控磁盘空间,一旦空间不足,就会通过电子邮件(或第三方 email2SMS 网关)通知您。这样(希望)此类问题不会再发生,因为您可以及时介入。