Email-Server

測試郵件伺服器的腳本

  • January 10, 2018

自從幾週前 Windows 更新關閉了我的 IIS6 郵件伺服器以來,我一直對我的郵件伺服器的工作感到非常偏執。

因此,每次我執行 Windows 更新時,我都會啟動命令提示符並向自己發送一封快速測試郵件。

像這樣:

> telnet localhost 25
> helo domain.com
> mail from: me@mydomain.com
> rcpt to: you@mydomain.com
> data
some random body to mail myself
.

這是測試我的郵件伺服器的一種非常好的方法,但是快速完成是一件令人頭疼的事情。無論如何我可以在批處理腳本或快速測試中執行它嗎?

我嘗試了一個 bat 文件,但這只是在我呼叫 telnet 之後等待我還探討了 telnet 是否接受任何輸入文件,但似乎沒有。

最好的方法是什麼?

有一個名為blat的命令行實用程序可用於在 Windows 中發送電子郵件。

在 UNIX 中,您可以使用 userland 工具與隊列互動。大多數 MTA 具有/usr/sbin/sendmail從同一位置符號連結的等價物。郵件實用程序在大多數係統上也可用。

如果您還沒有監控,我完全同意 Chris 的監控建議。否則,更改後的功能驗證非常有意義。

PowerShell 是您的朋友。查看Send-MailMessagecmdlet。

$date = Get-Date
Send-MailMessage -From "User <Sender@domain.com>" -To "Recipient <recipient@domain.com>" -Subject "Test message $date" -SmtpServer mailserver.domain.com

將其保存到名為 send-testsmtpmessage.ps1 的記事本文件中,然後從 PowerShell 執行它。您甚至可以通過點擊文件來設置呼叫 PowerShell 和腳本的 bat 文件。完畢。

電子郵件的主題行將如下所示:

測試消息 05/27/2010 23:02:04

引用自:https://serverfault.com/questions/145549