脚本来testing邮件服务器

自从几个星期前我的IIS6邮件服务器发生Windows更新以来,我一直对我的邮件服务器工作非常偏执。

所以每次我运行一个Windows更新,我打开命令提示符,并发送自己一个快速的testing邮件。

像这样:

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

这对于testing我的邮件服务器来说是一个非常好的方法,但是要快速完成这个任务是一件很痛苦的事情。 无论如何,我可以在批处理脚本或快速testing中运行这个吗?

我已经尝试了一个bat文件,但是这只是在我打电话之后等待telnet我也探讨过,如果telnet接受任何input文件,它似乎没有。

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

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

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

如果您还没有监控,我完全同意Chris的监控build议。 否则,在改变之后validationfunction是非常有意义的。

PowerShell是你的朋友。 请查看send-mailmessage cmdlet。

http://technet.microsoft.com/en-us/library/dd347693.aspx

 $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运行。 你甚至可以通过点击文件来设置一个调用PowerShell和脚本的bat文件。 完成。

该电子邮件将阅读与这样的主题行:

testing留言05/27/2010 23:02:04

您可以让Servers Alive运行来testing服务器以及您想要监视的任何服务 – 这是一些可以用于邮件stream检查的附件。

除了华纳提到的Blat之外,还有一些Windows的其他命令行邮件程序。 你也可以通过各种编程和脚本语言来做同样的事情。 Perl使事情变得特别简单。 我甚至在本网站的其他问题的答案中看到了Powershell的例子,尽pipe这是我见过很多年的最神秘的脚本语言。