Error de Gmail: 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
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 recibo 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 aire acondicionado de Gmail recibí el siguiente correo electrónico después de ejecutar el código desde el servidor de producción.
Hola ,
Alguien usó recientemente su contraseña para intentar iniciar sesión en su cuenta de Google [email protected] . Esta persona estaba utilizando una aplicación como un correo electrónico, un cliente o un dispositivo móvil.
Impedimos el intento de inicio de sesión en caso de que se tratara de un secuestrador que intentaba acceder a su cuenta. Revise los detalles del intento de inicio de sesión:
Viernes 3 de enero de 2014 13:56:08 en punto UTC Dirección IP: xxx.xx.xx.xxx (abcd.net.) Ubicación: Filadelfia PA, Filadelfia, PA, EE. UU.
Si no reconoce este intento de inicio de sesión, es posible que otra persona esté intentando acceder a su cuenta. Debe iniciar sesión en su cuenta y restablecer su contraseña inmediatamente.
Restablecer la contraseña
Si era usted y tiene problemas para acceder a su cuenta, complete los pasos de solución de problemas que se enumeran en http://support.google.com/mail?p=client_login
Atentamente, El equipo de Cuentas de Google
Cuando intenta enviar correo desde el código y encuentra el error "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", el error puede ocurrir debido a los siguientes casos.
caso 1: cuando la contraseña es incorrecta
caso 2: cuando intentas iniciar sesión desde alguna aplicación
Caso 3: cuando intenta iniciar sesión desde un dominio distinto de su zona horaria/dominio/computadora (este es el caso en la mayoría de los escenarios cuando se envía correo desde código)
Hay una solución para cada
solución para el caso 1: ingrese la contraseña correcta.
Solución 1 para el caso 2 : vaya a la configuración de seguridad en el siguiente enlace https://www.google.com/settings/security/lesssecureapps y habilite las aplicaciones menos seguras. Para que pueda iniciar sesión desde todas las aplicaciones.
solución 2 para el caso 2 : (consulte https://stackoverflow.com/a/9572958/52277 ) habilite la autenticación de dos factores (también conocida como verificación de dos pasos) y luego genere una contraseña específica de la aplicación. Utilice esa contraseña recién generada para autenticarse mediante 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. Pruebe el siguiente caso.
Solución 2 para el caso 3 : si ha alojado su código en algún lugar del servidor de producción y tiene acceso al servidor de producción, establezca una 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á una excepción para iniciar sesión en Google y se le permitirá iniciar sesión desde el código.
Pero, ¿qué pasa si no tienes acceso al servidor de producción? prueba 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 permita el acceso haciendo clic en el botón continuar.
Y eso es. Aquí tienes. Ahora podrá iniciar sesión desde cualquier computadora y mediante cualquier aplicación en su cuenta de Google.
Esto generalmente sucede cuando intenta iniciar sesión desde una zona horaria o dirección IP diferente en la computadora. Su servidor de producción y la identificación de correo que ha utilizado se encuentran en zonas horarias diferentes. Elija cualquiera de estas dos soluciones:
1) Inicie sesión en el servidor de producción mediante 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 sesión.
O 2) inicie sesión en Gmail en su computadora local, siga este enlace y elija revisar esta actividad y tomar las medidas adecuadas.
ACTUALIZACIÓN 2022
El método de aplicaciones menos seguras ya no funciona
Deberías migrar a la API SMTP de GMail
Enviar correo electrónico con solo una identificación y contraseña de Gmail ya no funciona. Debe configurar la API desde Google Cloud Console y crear credenciales de OAuth para hacerlo.
Enlace a la consola de Google Cloud
Enlace a la guía oficial
Enlace a Una guía fácil
RESPUESTA ORIGINAL
Es una cuestión de seguridad. De forma predeterminada, Gmail impide el acceso a su cuenta de correo electrónico desde aplicaciones personalizadas. Puede configurarlo para aceptar el inicio de sesión desde su aplicación.
Después de iniciar sesión en su correo electrónico, HAGA CLIC AQUÍ
Esto lo llevará a la siguiente página.