none
Error enviar correo fuera de mi empresa PS RRS feed

  • Pregunta

  • Buenas,

    Tenemos un problema en nuestra empresa con un envio de correos externos a nuestros dominios en o365. El script es este:

    $currentMonth = Get-Date -UFormat %m

    $currentMonth = (Get-Culture).DateTimeFormat.GetMonthName($currentMonth)

    $credenciales = Import-Clixml -Path '\\localhost\c$\srvadmin\credenciales.xml'


    $fecha=$(Get-Date -UFormat "%d-%m-%Y")
    $fromaddress = "interno@loquesea.es"
    $toaddress = "externo@hotmail.com"
    $Subject = "asunto- $currentMonth"


    $body = @'
    <html> 
      <body>
      </body> 
    </html> 
    '@

    $smtpserver = "smtp.office365.com"
    $SmtpPort = '587'
    $emailSmtpUser = $credenciales.UserName
    $emailSmtpPass = $credenciales.GetNetworkCredential().password

     
    $message = new-object System.Net.Mail.MailMessage
    $message.From = $fromaddress
    $message.To.Add($toaddress) 
    $message.Subject = $Subject
    $message.body = $body
    $message.IsBodyHtml = $true
    $smtp = new-object Net.Mail.SmtpClient($smtpserver,$SmtpPort)
    $smtp.EnableSsl = $true
    $smtp.Credentials = New-Object System.Net.NetworkCredential($emailSmtpUser,$emailSmtpPass)
     
    $smtp.Send($message)

    El error que nos da es el siguiente:

    Exception calling "Send" with "1" argument(s): "The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.57 SMTP; Client was not authenticated to send anonymous mail during

    MAIL FROM [LNXP265CA0072.GBRP265.PROD.OUTLOOK.COM]"

    At line:96 char:1

    + $smtp.Send($message)

    + ~~~~~~~~~~~~~~~~~~~~

        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException

        + FullyQualifiedErrorId : SmtpException

    Pero las credenciales se las he pasado por el siguiente script:

    $credenciales = Get-Credential

    $credenciales.Password | ConvertFrom-SecureString

    $credenciales | Export-Clixml -Path C:\srvadmin\credenciales.xml

    Alguna idea de porque me da error cuando le mando las credenciales?

    Saludos,



    Gerardo,

    lunes, 12 de noviembre de 2018 10:26

Respuestas

  • Hola Gerardo, 

    Una pregunta, no puedo probarlo no tengo O365, con esto te funciona?

    $credenciales = Get-Credential # te pedirá user y pass
    ....
    ....
    $smtp.Credentials = $credenciales # al final de tu script directamente le pasas la variables

    Te lo pregunto para saber si es problema de tu archivado de Credenciales u otra cosa.

    Te dejo también un ejemplo de lo que estás haciendo del blog del Powershell, algo más limpio.

    Saludos,

    • Marcado como respuesta gerard_gorrion lunes, 12 de noviembre de 2018 15:33
    lunes, 12 de noviembre de 2018 10:57

Todas las respuestas

  • Hola Gerardo, 

    Una pregunta, no puedo probarlo no tengo O365, con esto te funciona?

    $credenciales = Get-Credential # te pedirá user y pass
    ....
    ....
    $smtp.Credentials = $credenciales # al final de tu script directamente le pasas la variables

    Te lo pregunto para saber si es problema de tu archivado de Credenciales u otra cosa.

    Te dejo también un ejemplo de lo que estás haciendo del blog del Powershell, algo más limpio.

    Saludos,

    • Marcado como respuesta gerard_gorrion lunes, 12 de noviembre de 2018 15:33
    lunes, 12 de noviembre de 2018 10:57
  • Buenas,

    Las credenciales funcionan dentro de la empres, el problema lo tengo cuando lo envío fuera que me da ese error. entiendo que el usuario pues funciona bien.

    No puedo solicitar el pop-up de credenciales pues el fin es enviar un correo electrónico mensualmente  una dirección externa a nuestra empresa.

    Si alguien se le ocurre alguna solución...

    Gracias, 


    Gerardo,

    lunes, 12 de noviembre de 2018 11:09
  • Hola,

    No me explique, la prueba no era para saber si las credenciales estaban correctas, que ya supongo que si, es para saber si pasándola por pop-up corre el script correctamente. Si es que si, el problema está en el modo de archivado de las credenciales y centrarnos en eso.

    Saludos,

    lunes, 12 de noviembre de 2018 12:04
  • Esto tiene pinta de que debes autoritzar la màquina desde la que quieres enviar el correo en el conector de recepción de tu Exchange.
    lunes, 12 de noviembre de 2018 12:53
  • Buenas a todos,

    Parace que encontramos donde estaba el problema y venia por parte de permisos de ejecución.

    Ya hemos dado en el clavo y ya esta funcionando correctamente.

    Gracias por vuestra ayuda.


    Gerardo,

    lunes, 12 de noviembre de 2018 15:32