Error de envío de mensaje de correo de Powershell

Error de envío de mensaje de correo de Powershell

No se puede hacer que Send-MailMessage funcione con un correo electrónico de Office365, por lo que ahora lo intento con Gmail pero aún no funciona.

Muestra el error: Enviar mensaje de correo: el servidor SMTP requiere una conexión segura o el cliente no fue autenticado. La respuesta del servidor fue: 5.5.1 Se requiere autenticación.

He examinado muchos errores de envío de correo similares y he probado varias sugerencias.

  • Activado "Usar aplicaciones menos seguras" en la configuración de seguridad de Gmail
  • Intenté eliminar useSSL
  • Dirección y contraseña de Gmail revisadas dos veces

Siendo muy nuevo en PowerShell, ¿alguien puede indicarme la dirección correcta? Código a continuación:

 $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)

Respuesta1

Creo que necesitas definir un objeto y asignarle el valor de retorno Get-Credential.

al igual que:

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

Fuente/más información:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/get-credential?view=powershell-6

información relacionada