【问题标题】:PowerShell - sending mail script throwing errorPowerShell - 发送邮件脚本抛出错误
【发布时间】:2014-02-12 21:49:53
【问题描述】:

这是我正在使用的 Powershell 脚本代码

$SmtpClient = New-Object system.net.mail.smtpClient;
$mailmessage = New-Object system.net.mail.mailmessage;
$SmtpClient.Host = "exchange server name";
$SmtpClient.Credentials = New-Object System.Net.NetworkCredential("User name", "password");
$mailmessage.from = ("user@domain.com");
$mailmessage.To.add("user@domain.com");
$mailmessage.Subject = “Message”;
$mailmessage.Body = “Body”;
$smtpclient.Send($mailmessage);

这是我遇到的错误

使用“1”参数调用“发送”的异常:“发送邮件失败。” 在 C:\Users\user1\Desktop\sendmailPS.ps1:9 char:17 + $smtpclient.Send

任何帮助表示赞赏并提前感谢

【问题讨论】:

  • 可能是 Exchange 服务器上的连接器权限。你确定服务器会做 smtp 中继吗?

标签: email powershell


【解决方案1】:

除非您需要保持与 PowerShell 1.0 的兼容性,否则请改用 send-mailmessage。添加换行符以提高可读性。

send-mailmessage -smtphost your.smtp.host -from user@domain.com -to user@domain.com `
-subject "message" -body "body" `
-Credential (New-Object -TypeName System.Management.Automation.PSCredential`
     -ArgumentList "user name" (ConvertTo-SecureString -String "password" -AsPlainText -Force))

【讨论】:

  • 谢谢!不知道我可以使用Mail-message,好多了。
猜你喜欢
  • 2012-12-24
  • 1970-01-01
  • 1970-01-01
  • 2015-08-02
  • 1970-01-01
  • 2019-10-26
  • 2012-12-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多