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

Связанный контент