【问题标题】:E-Mail sending with Send-MailMessage works, but not with SmtpClient使用 Send-MailMessage 发送电子邮件有效,但不适用于 SmtpClient
【发布时间】:2015-05-27 13:52:39
【问题描述】:

以下 Powershell 脚本适用于我的 Windows Server 2012:

send-mailmessage -from "from@domain.com" -to "to@domain.com" -Subject "test" -Body "test body" -smtpserver myhostip -credential "mydomain\myuser"

当我执行它时,会出现一个窗口,提示输入指定用户的密码。我输入密码并发送电子邮件。

但是,以下脚本不起作用:

$smtp = New-Object Net.Mail.SmtpClient("myhostip")
$smtp.usedefaultcredentials = $false
$smtp.enablessl = $false
$smtp.credentials = new-object net.networkcredential("myuser", "mypassword", "mydomain")
$smtp.send("from@domain.com", "to@domain.com", "test", "test body")

它会导致错误消息

Exception calling "Send" with "4" argument(s): "Mailbox unavailable. The server response was: 5.7.1
<to@domain.com>... Relaying denied. IP name lookup failed [ip-address-of-my-web-server]"

有什么区别?如何让第二个脚本工作?

【问题讨论】:

  • 您是否尝试将其全部转换为变量并将变量插入到第一个脚本中,这行不通?
  • 呃!! from 地址在 SmtpClient 版本的脚本中缺少一个 - 字符。谢谢!!
  • 哈哈很高兴我能帮上忙

标签: powershell smtp system.net.mail


【解决方案1】:

您是否尝试将其全部转换为变量并将变量插入到第一个脚本中,这行不通?

【讨论】:

    猜你喜欢
    • 2012-04-27
    • 2020-10-30
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 2015-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多