【问题标题】:Sending E-mail from Powershell Failing on One Machine从 Powershell 发送电子邮件在一台机器上失败
【发布时间】:2012-01-06 19:18:01
【问题描述】:

我有一点 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

【问题讨论】:

  • 我们需要知道您作为参数传入的值:$smtpServer、$emailFrom、$emailTo、$subject 和 $body。

标签: powershell


【解决方案1】:

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

【讨论】:

  • 是的,我正要建议检查端口 25 上的出站 TCP 连接。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      • 2016-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多