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

Check SMTP server working or not with powershell {send-mailmessage}

如何检查 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 case

你可以做一个简单的 try catch:

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 块。