从Powershell发送电子邮件失败在一台机器上

时间:2012-01-06 19:18:02

标签: powershell

我有一些发送电子邮件的powershell:

$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)

这在我迄今为止尝试过的每台机器上都能完美运行。我有一台机器,我收到此错误消息:

  

使用“4”参数调用“发送”的异常:“发送邮件失败。”   在R:\ sqlrestore \ scripts \ Utilities \ Check-Lag.ps1:15 char:12   + $ smtp.Send<<<< ($ emailFrom,$ emailTo,$ subject,$ body)       + CategoryInfo:NotSpecified:(:) [],ParentContainsErrorRecordException       + FullyQualifiedErrorId:DotNetMethodException

3 个答案:

答案 0 :(得分:2)

顺便说一下,如果您使用的是PowerShell 2.0,那么您可能需要尝试Send-MailMessage cmdlet:

Send-MailMessage -SmtpServer YourServerName -From $emailFrom -To $emailTo -Subject $subject -Body $body

答案 1 :(得分:1)

错误消息不明确。事实证明,问题是SMTP服务器无法访问,因为不允许出站SMTP流量。

答案 2 :(得分:0)

我刚遇到同样的问题,原来是因为双因素身份验证。我在Google安全设置中创建了一个“应用专用密码”,现在一切正常。