测试邮件服务器的脚本

测试邮件服务器的脚本

自从几周前 Windows 更新导致我的 IIS6 邮件服务器瘫痪以来,我一直对我的邮件服务器的运行感到十分担忧。

因此,每次我运行 Windows 更新时,我都会启动命令提示符并向自己发送一封快速测试邮件。

就像这样:

> telnet localhost 25
> helo domain.com
> mail from: [email protected]
> rcpt to: [email protected]
> data
some random body to mail myself
.

这确实是测试邮件服务器的好方法,但快速完成却很麻烦。我能否在批处理脚本或其他东西中运行此操作以进行快速测试?

我尝试过使用 bat 文件,但是这只是在我调用 telnet 之后等待,我也探索过 telnet 是否接受任何输入文件,但似乎不接受。

做到这一点的最好方法是什么?

答案1

有一个名为的命令行实用程序布拉特可用于在 Windows 中发送电子邮件。

在 UNIX 中,您可以使用用户空间工具与队列交互。大多数 MTA 都具有/usr/sbin/sendmail从同一位置建立的等效符号链接。邮件该实用程序在大多数系统上也可用。

如果您还没有监控,我完全同意 Chris 的监控建议。否则,更改后的功能验证就很有意义了。

答案2

PowerShell 是你的好朋友。查看Send-MailMessage执行以下命令:

$date = Get-Date
Send-MailMessage -From "User <[email protected]>" -To "Recipient <[email protected]>" -Subject "Test message $date" -SmtpServer mailserver.domain.com

将其保存到名为 send-testsmtpmessage.ps1 的记事本文件中,然后从 PowerShell 运行它。您甚至可以设置一个 bat 文件,只需单击该文件即可调用 PowerShell 和脚本。完成。

电子邮件的主题行如下:

测试消息 2010-05-27 23:02:04

答案3

你可以有服务器活跃坐下来运行测试服务器和任何您想要监控的服务 - 这是一些可以进行邮件流检查的附加组件,可能会对您有用。

答案4

除了 Warner 提到的 Blat 之外,还有许多其他适用于 Windows 的命令行邮件程序。您还可以通过各种编程和脚本语言执行相同操作。Perl 使事情变得特别简单。我甚至在这个网站上的其他问题的答案中看到了 Powershell 示例,尽管这是我多年来见过的最神秘的脚本语言。

相关内容