![测试邮件服务器的脚本](https://linux22.com/image/514516/%E6%B5%8B%E8%AF%95%E9%82%AE%E4%BB%B6%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E8%84%9A%E6%9C%AC.png)
自从几周前 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
答案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 示例,尽管这是我多年来见过的最神秘的脚本语言。