Powershell Send-MailMessage 错误

Powershell Send-MailMessage 错误

无法让 Send-MailMessage 与 office365 电子邮件配合使用,因此现在尝试使用 gmail 但仍然不起作用。

出现错误:Send-MailMessage:SMTP 服务器需要安全连接或客户端未通过身份验证。服务器响应为:5.5.1 需要身份验证。

浏览了很多类似的发送邮件错误,并尝试了许多建议

  • 在 Gmail 安全设置中打开“使用安全性较低的应用程序”
  • 尝试删除 useSSL
  • 仔细检查 Gmail 地址和密码

我对 powershell 还很陌生,有人能给我指明正确的方向吗?代码如下:

 $From = "[email protected]"
 $To = "[email protected]"
 $Subject = "Here's the Email Subject"
 $Body = "This is what I want to say"
 $SMTPServer = "smtp.gmail.com"
 $SMTPPort = "587"
 Send-MailMessage -From $From -to $To -Subject $Subject -Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl -Credential (Get-Credential)

答案1

我认为您需要定义一个对象并将返回值分配给Get-Credential

像这样:

$cred = Get-Credential
Send-MailMessage -From $From -to $To -Subject $Subject -Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl -Credential $cred

来源/更多信息:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/get-credential?view=powershell-6

相关内容