【发布时间】: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