使用powershell检查SMTP服务器是否正常工作{send-mailmessage}

时间:2016-09-08 15:29:20

标签: shell email powershell smtp monitoring

如何检查SMTP服务器是否正常工作。基本上我有:

SMTPserver= mail.my1stdomain.com, 
FromAddress=mymailbox@my1stdomain.com, 
ToAddress=Recipient@my1stdomain.com. 

我想检查一下是否可以发送电子邮件。如果我可以,但如果Powershell脚本输出错误,那么我想使用我的第二个SMTP服务器通知第一个SMTP服务器无法发送电子邮件。

我的第二组SMTP信息是:

SMTPserver=mail.my2nddomain.com, 
FromAddress=mymailbox@my2nddomain.com, 
ToAddress=Recipient@my2nddomain.com

我用这个脚本发送电子邮件:

Send-MailMessage -from mymailbox@my1stdomain.com -to Recipient@my1stdomain.com -Subject "Test OK" -Body "Test is OK" -SmtpServer mail.my1stdomain.com

当然要通过第二个SMTP服务器发送电子邮件,我必须这样做:

Send-MailMessage -from mymailbox@my2nddomain.com -to Recipient@my2nddomain.com -Subject "Test OK" -Body "Test is OK" -SmtpServer mail.my2nddomain.com

我不知道在第一个命令失败的情况下如何编写IF案例

1 个答案:

答案 0 :(得分:4)

你可以做一个简单的试试:

try{
    Send-MailMessage -from mymailbox@my1stdomain.com -to Recipient@my1stdomain.com -Subject "Test OK" -Body "Test is OK" -SmtpServer mail.my1stdomain.com
   }
catch{
    Send-MailMessage -from mymailbox@my2nddomain.com -to Recipient@my2nddomain.com -Subject "Test OK" -Body "Test is OK" -SmtpServer mail.my2nddomain.com
   }

如果try中的代码块生成错误,它将运行catch块。