Error de Gmail: El servidor SMTP requiere una conexión segura o el cliente no se autenticó. La respuesta del servidor fue: 5.5.1 Autenticación Requerida


Estoy usando el siguiente código para enviar correo electrónico. El Código funciona correctamente en mi máquina local. Pero en el servidor de producción estoy recibiendo el mensaje de error

        var fromAddress = new MailAddress("[email protected]");
        var fromPassword = "xxxxxx";
        var toAddress = new MailAddress("[email protected]");

        string subject = "subject";
        string body = "body";

        System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient
        {
            Host = "smtp.gmail.com",
            Port = 587,
            EnableSsl = true,
            DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
            UseDefaultCredentials = false,
            Credentials = new NetworkCredential(fromAddress.Address, fromPassword)

        };

        using (var message = new MailMessage(fromAddress, toAddress)
        {
            Subject = subject,
            Body = body
        })


        smtp.Send(message);

Y en mi Gmail A / c he recibido el siguiente correo electrónico después de ejecutar el código desde el servidor de producción

Hola,

Recientemente alguien usó tu contraseña para intentar iniciar sesión en tu Google Cuenta [email protected]. Esta persona estaba utilizando una aplicación tal como correo electrónico, cliente o dispositivo móvil.

Evitamos el intento de inicio de sesión en caso de que fuera un secuestrador tratando de accede a tu cuenta. Por favor revise los detalles del intento de inicio de sesión:

Viernes, 3 de enero de 2014 13:56:08 h UTC Dirección IP: xxx.xx.xx.xxx (abcd.net.) Ubicación: Philadelphia PA, Philadelphia, PA, USA

Si no reconoce este intento de inicio de sesión, otra persona podría ser intentando acceder a tu cuenta. Debe iniciar sesión en su cuenta y restablezca su contraseña inmediatamente.

Restablecer contraseña

Si eras tú y tienes problemas para acceder a tu cuenta, complete los pasos de solución de problemas enumerados en http://support.google.com/mail?p=client_login

Atentamente, El equipo de Cuentas de Google

Author: GEOCHET, 2014-01-03

21 answers

Esto generalmente sucede cuando intenta iniciar sesión desde una zona horaria diferente o desde una computadora con dirección IP. Su servidor de producción y el id de correo que ha utilizado se encuentran en una zona horaria diferente. Elija cualquiera de la solución:

1) Inicie sesión en production server a través del acceso remoto e inicie sesión en gmail una vez con sus credenciales. Le pedirán la confirmación, la confirmarán y cerrarán la sesión.

O 2) inicie sesión en gmail en su computadora local, Siga este Enlace y elija revise esto activity and take proper actions.

 140
Author: Arshad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-11 13:50:26

Cuando intenta enviar correo desde código y encuentra el error " El servidor SMTP requiere una conexión segura o el cliente no se autenticó. La respuesta del servidor fue: 5.5.1 Autenticación requerida", que el error podría ocurrir debido a los siguientes casos.

Caso 1: cuando la contraseña es incorrecta

Caso 2: cuando intenta iniciar sesión desde alguna aplicación

Case 3: cuando intenta iniciar sesión desde el dominio de otros de su tiempo zona/dominio/equipo (Este es el caso en la mayoría de los escenarios al enviar correo desde código)

Hay una solución para cada

Solución para el caso 1: Introduzca la contraseña correcta.

Solución 1 para el caso 2: vaya a configuración de seguridad en el siguiente enlace https://www.google.com/settings/security/lesssecureapps y habilita aplicaciones menos seguras . Así que usted será capaz de iniciar sesión desde todos aplicaciones.

Solución 2 para el caso 2: (véase https://stackoverflow.com/a/9572958/52277 ) habilite la autenticación de dos factores (también conocida como verificación en dos pasos) y , a continuación, genere una contraseña específica de la aplicación. Utilice esa contraseña recién generada para autenticarse a través de SMTP.

Solución 1 para el caso 3: (Esto podría ser útil) necesita revisar la actividad. pero revisar la actividad no será útil debido a los últimos estándares de seguridad, el enlace no será útil. Tan pruebe el caso de abajo.

Solución 2 para el caso 3: Si ha alojado su código en algún lugar del servidor de producción y si tiene acceso al servidor de producción, tome la conexión de escritorio remoto al servidor de producción e intente iniciar sesión una vez desde el navegador del servidor de producción. Esto agregará excpetioon para iniciar sesión en Google y se le permitirá iniciar sesión desde el código.

Pero qué pasa si no tiene acceso al servidor de producción. pruebe la solución 3

solución 3 para el caso 3: Debe habilitar el inicio de sesión desde otra zona horaria / ip para su cuenta de Google.

Para ello, siga el enlace https://g.co/allowaccess y permitir el acceso haciendo clic en el botón continuar.

Y eso es todo. Aquí tienes. Ahora podrás iniciar sesión desde cualquier ordenador y por cualquier medio de app a tu cuenta de Google.

 220
Author: Roshan Parmar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:02:56

Es un problema de seguridad, Gmail por defecto impide el acceso a su cuenta de correo electrónico de aplicaciones personalizadas. Puede configurarlo para aceptar el inicio de sesión de su aplicación.

Después de iniciar sesión en su correo electrónico, HAGA CLIC AQUÍ

Esto te llevará a la siguiente página

Página de Aplicaciones Menos Seguras

 85
Author: Sayka,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-04 09:57:35

Después de pasar un par de horas hoy probando todas las soluciones aquí, todavía no pude superar este error exacto. He usado gmail muchas veces de esta manera, así que sabía que era algo tonto, pero nada de lo que hice solucionó el problema. Finalmente me topé con la solución en mi caso, así que pensé que compartiría.

En primer lugar, la mayoría de las respuestas anteriores también son necesarias, pero en mi caso, fue una simple cuestión de ordenar el código mientras se crea la clase SmtpClient.

En este primer fragmento de código a continuación, observe dónde se encuentra la línea "Credentials = creds". Esta implementación generará el error al que se hace referencia en esta pregunta, incluso si tiene todo lo demás configurado correctamente.

System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient
        {
            Host = Emailer.Host,
            Port = Emailer.Port,
            Credentials = creds,
            EnableSsl = Emailer.RequireSSL,
            UseDefaultCredentials = false,
            DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network
        }

Sin embargo, si mueve la llamada al configurador de credenciales a la parte inferior, el correo electrónico se enviará sin error. No hice ningún cambio en el código circundante ie ie the el nombre de usuario / contraseña, etc. Claramente, ya sea el EnableSSL, UseDefaultCredentials, o el DeliveryMethod depende de las credenciales que se establecen primero....No probé todo para averiguar cuál era.

System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient
        {
            Host = Emailer.Host,
            Port = Emailer.Port,
            EnableSsl = Emailer.RequireSSL,
            UseDefaultCredentials = false,
            DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network,
            Credentials = creds
        }

Espero que esto ayude a salvar a alguien más algunos dolores de cabeza en el futuro.

 16
Author: user1011627,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-11 20:54:25

Hola tuve el mismo problema,

Lo que he hecho para resolverlo. es activar la aplicación menos segura. después de conectarme a mi cuenta de gmail. He introducido este enlace: https://www.google.com/settings/security/lesssecureapps

Luego enciendo la aplicación segura y, y el funcionó. también se ha dicho anteriormente

 10
Author: Barak Rosenfeld,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-05 13:18:00

Solo tienes que seguir el paso en el correo electrónico de Google y habilitar aplicaciones menos seguras.

 8
Author: Trung,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-29 21:18:58

Me he enfrentado al mismo problema. Sucede cuando activa la verificación de 2 pasos (MFA). Simplemente desactive la verificación de 2 pasos y su problema debería resolverse.

 6
Author: Anik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-31 16:43:39

A continuación está mi código.También tuve el mismo error, pero el problema fue que di mi contraseña incorrecta.El siguiente código funcionará perfectamente..pruébalo

            MailMessage mail = new MailMessage();
            SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");             
            mail.From = new MailAddress("[email protected]");
            mail.To.Add("[email protected]");
            mail.To.Add("[email protected]");
            mail.Subject = "Password Recovery ";
            mail.Body += " <html>";
            mail.Body += "<body>";
            mail.Body += "<table>";
            mail.Body += "<tr>";
            mail.Body += "<td>User Name : </td><td> HAi </td>";
            mail.Body += "</tr>";

            mail.Body += "<tr>";
            mail.Body += "<td>Password : </td><td>aaaaaaaaaa</td>";
            mail.Body += "</tr>";
            mail.Body += "</table>";
            mail.Body += "</body>";
            mail.Body += "</html>";
            mail.IsBodyHtml = true;
            SmtpServer.Port = 587;
            SmtpServer.Credentials = new System.Net.NetworkCredential("sendfrommailaddress.com", "password");
            SmtpServer.EnableSsl = true;
            SmtpServer.Send(mail);

Puede consultar en mi blog

 4
Author: Ganesh Pillai N,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-13 02:34:46

Tuve el mismo problema para una aplicación implementada en Microsoft Azure.

SmtpException: El servidor SMTP requiere una conexión segura o el cliente no fue autenticado. Respuesta del servidor: 5.5.1 Se Requiere Autenticación.

Primero aprobé todos los dispositivos desconocidos (algunas direcciones ip originarias de Irlanda) en la siguiente página (inicié sesión como usuario de gmail): https://security.google.com/settings/u/1/security/secureaccount

He utilizado la siguiente configuración para el cliente:

var client = new SmtpClient("smtp.gmail.com");
client.Port = 587;
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("[email protected]", "my_password"); 

Comenzó a funcionar solo después de establecer la siguiente propiedad en el cliente smtp:

client.TargetName = "STARTTLS/smtp.gmail.com";
 2
Author: haiiaaa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-11 12:38:50

Lo que funcionó para mí fue activar la opción para aplicaciones menos seguras (estoy usando VB.NET)

Public Shared Sub enviaDB(ByRef body As String, ByRef file_location As String)
        Dim mail As New MailMessage()
        Dim SmtpServer As New SmtpClient("smtp.gmail.com")
        mail.From = New MailAddress("[email protected]")
        mail.[To].Add("[email protected]")
        mail.Subject = "subject"
        mail.Body = body
        Dim attachment As System.Net.Mail.Attachment
        attachment = New System.Net.Mail.Attachment(file_location)
        mail.Attachments.Add(attachment)
        SmtpServer.Port = 587
        SmtpServer.Credentials = New System.Net.NetworkCredential("user", "password")
        SmtpServer.EnableSsl = True
        SmtpServer.Send(mail)
    End Sub

Así que inicie sesión en su cuenta y luego vaya a google.com/settings/security/lesssecureapps

 2
Author: Edgar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-02 21:39:03

Simplemente activa la configuración de o gmail. ver imagen dada abajo:

introduzca la descripción de la imagen aquí

 2
Author: Rajesh Paliwal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-03 08:11:36

Tengo un código que funciona anteriormente que arroja este error ahora. No hay problema con la contraseña. Tampoco es necesario convertir el mensaje a base64. Resulta, que tengo que hacer lo siguiente:

  1. Desactivar la autenticación de 2 factores
  2. Establece" Permitir aplicaciones menos seguras " en
  3. Inicie sesión en su cuenta de gmail desde production server
  4. Vaya aquí también para aprobar la actividad de inicio de sesión
  5. Ejecute su aplicación en production server

Código de trabajo

    public static void SendEmail(string emailTo, string subject, string body)
    {
        var client = new SmtpClient("smtp.gmail.com", 587)
        {
            Credentials = new NetworkCredential("[email protected]", "secretpassword"),
            EnableSsl = true
        };

        client.Send("[email protected]", emailTo, subject, body);
    }

Girando off autenticación de 2 factores Desactivación de la autenticación de 2 factores

Establecer "Permitir aplicaciones menos seguras" en (misma página, necesidad de desplazarse a la parte inferior) Permitir aplicaciones menos seguras

 2
Author: Jeson Martajaya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-09 14:31:21

Probé todas las sugerencias que se encuentran aquí, desde habilitar aplicaciones menos seguras hasta probar el puerto 587... nada funcionó. Finalmente acabo de comentar la línea UseDefaultCredentials = false. Todo funcionaba si no tocaba a ese booleano.

 1
Author: Kris Coleman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-31 18:06:50

Si estás usando gmail.

  • 1-inicie sesión en su cuenta

    2-examine este enlace

    3-Permitir aplicaciones menos seguras: EN

Disfruta....

 1
Author: Muhammad Azeem,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-12 12:56:12

Realmente he mirado un montón de ideas, la única solución era de esta manera (funciona con diferentes proveedores de correo electrónico):

            try
        {
            ViewProgressbar("Try to connect mail-server...", progressBar1.Value = 20);
            string host = dsProvider.Rows[y]["POP_hostOut"].ToString();
            int port = int.Parse(dsProvider.Rows[y]["POP_portOut"].ToString());  //587
            string[] email = von1.Split('@');
            string userName = (dsProvider.Rows[y]["login"].ToString() == "email[0]@email[1]")? email[0]+"@"+email[1] : email[0];
            string password = layer.getUserPassword(listSender.SelectedValue.ToString());
            SmtpClient client = new SmtpClient(host, port);
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.UseDefaultCredentials = false;
            //A idea from MSDN but it not works. You got the "The server response was: 5.5.1 Authentication Required."
            //System.Net.NetworkCredential myCreds = new System.Net.NetworkCredential(userName, password, host);
            //System.Net.CredentialCache cache = new System.Net.CredentialCache();
            //cache.Add(host, port, "NTLM", myCreds);
            ///cache.GetCredential(host, port, "NTLM");   //NTLM
            client.Credentials = new System.Net.NetworkCredential(userName, password);
            client.Host = host;
            client.Port = port;
            client.EnableSsl = true;
            client.Send(message);
            ViewProgressbar();
        }
        catch (SmtpException ex)...
 0
Author: Walter,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-05-09 11:21:15

Soy un suscriptor de Google apps for business y me paso el último par de horas tratando con esto, incluso después de tener todos los ajustes correctos (smtp, puerto, enableSSL, etc.). Esto es lo que funcionó para mí y los sitios web que estaban lanzando el error 5.5.1 al intentar enviar un correo electrónico:

  1. Inicie sesión en su admin.google.com
  2. Haga clic en SEGURIDAD
  3. Haga clic en Configuración básica
  4. Desplácese hasta el en la parte inferior del cuadro de Configuración básica, haga clic en el enlace: 'Ir a configuración para aplicaciones menos seguras'
  5. Seleccione la opción # 3: Forzar el acceso a aplicaciones menos seguras para todos los usuarios (No recomendado)
  6. Pulse GUARDAR en la parte inferior de la ventana

Después de hacer esto, mis formularios de correo electrónico del sitio web volvieron a funcionar. ¡Buena suerte!

 0
Author: RichieMN,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-20 17:30:11

Es posible que deba crear/generar una contraseña de APLICACIÓN específica desde gmail. tu app o script usará esta nueva contraseña en lugar de tu contraseña normal. Su contraseña normal seguirá funcionando bien para usted.

Eso es lo que lo hizo por mí. Todavía usé la misma cuenta de correo electrónico, pero tuve que generar una nueva contraseña específica de la aplicación.

Https://support.google.com/accounts/answer/185833?hl=en

Captura de pantalla

Básicamente puedes hacerlo aqui: https://security.google.com/settings/security/apppasswords

 0
Author: samiup,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-20 20:38:53

Un comentario de Tomasz Madeyski es lo que solucionó mi problema... él dice que existe un error en SetDefaultCredential, él dice:

"El problema es que en UseDefaultCredentials setter existe este código: this.transporte.Credenciales = valor ? (ICredentialsByHost) CredentialCache.DefaultNetworkCredentials: (ICredentialsByHost) null; que anula las credenciales establecidas por el configurador de credenciales. Para mí parece el error de SmtpClient "

Si pones smtpClient.UseDefaultCredentials = false después de establecer credenciales... esta línea a null esas credenciales...

 0
Author: FabianSilva,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-23 10:21:33

Debes no permitir que las aplicaciones menos seguras accedan a tu cuenta de Google.

Para hacer:

Https://myaccount.google.com/lesssecureapps

 0
Author: MohammadSoori,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-24 07:17:38

Usé todas las soluciones mencionadas anteriormente, pero finalmente funcionó solo después de habilitar el acceso IMAP desde la configuración de Gmail Enlace para Habilitar el acceso IMAP en la configuración de gmail

Por supuesto, los puntos de las otras soluciones también eran necesarios.

 -1
Author: AndroidMechanic - Viral Patel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-28 13:07:05

Intenta cambiar el host, este es el nuevo, tengo esto configurando mozilla thunderbird

Host = "smtp.googlemail.com"

Que funcionan para mí

 -5
Author: patogalarzar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-08 09:10:30