发送邮件后,我没有得到正确的输出

时间:2019-08-10 11:47:27

标签: powershell-3.0

我需要使用PowerShell来for方面的帮助。 问题是我能够通过cmdlet发送邮件,但是发送后我想检查邮件是否成功发送。因此,我为此使用了paste namefile-{0..100} >combined / Send-MailMessage语句。运行脚本后,我在收件箱中收到邮件,但是PowerShell if显示:

  

邮件传递失败...重试

下面是参考代码:

else

1 个答案:

答案 0 :(得分:0)

如有疑问,请阅读documentation

  

输出

     

     

此cmdlet不会生成任何输出。

该cmdlet不会生成输出,因此$Status为空,既不等于“ true”也不等于“ True”也不等于0也不等于1,因此您的比较结果始终为false。

Send-MailMessage在无法提交消息时将引发错误,您可以按以下方式处理:

try {
    Send-MailMessage ...
    Write-Host "Mail sent...."
} catch {
    Write-Host "Mail delivery failed... Try Again"
}

作为旁注,您只能验证邮件是否已成功提交(即,您指定的邮件服务器是否接受了传递)。电子邮件是一种存储转发的体系结构,这意味着一跳接收邮件进行传递并没有说明邮件是否已到达最终收件人。电子邮件使用所谓的bounce messages将传递状态传达回发件人。