elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  C# SMTP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: C# SMTP  (Leído 20,798 veces)
andrecid

Desconectado Desconectado

Mensajes: 126


Haz lo que quieras, por que nadie te puede obligar


Ver Perfil
C# SMTP
« en: 6 Agosto 2014, 18:46 pm »

Hola tengo un error cuando quiero usar smtp para enviar datos ami gmail el error es el siguiente :


cuando le doy a enviar me aparece:
Información adicional: El servidor SMTP requiere una conexión segura o el cliente no se autenticó. La respuesta del servidor fue: 5.5.1 Authentication Required. Learn more at

Por favor me pueden ayudar?


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: C# SMTP
« Respuesta #1 en: 9 Septiembre 2014, 13:18 pm »

Buenas

Lo primero de nada que debo decir es que este tipo de preguntas debes hacerla en la sección de programación .NET, no en programación general.

El mensaje de error es 'self-explanatory' (se explica por si solo), te está indicando que el servidor requiere autentificación SSL así que debes activarlo, o también es posible que hayas escrito mal algún otro parámetro como las credenciales.

si no muestras tu código es imposible ayudarte en la corrección del mismo.

de todas formas te muestro un ejemplo por si estás haciendo algo mal:

Citar
Código
  1.    ' GMail Sender
  2.    ' By Elektro
  3.    '
  4.    ' Usage Examples :
  5.    ' GMailSender("Username@Gmail.com", "Password", "Email Subject", "Message Body", "Receiver@Address.com")
  6.    '
  7.    ''' <summary>
  8.    ''' Sends an e-mail through GMail service.
  9.    ''' </summary>
  10.    ''' <param name="Username">Indicates the GMail account username.</param>
  11.    ''' <param name="Password">Indicates the GMail account password.</param>
  12.    ''' <param name="Subject">Indicates e-mail subject.</param>
  13.    ''' <param name="Body">Indicates e-mail body.</param>
  14.    ''' <param name="Addresses">Indicates the address(es) to send.</param>
  15.    Private Sub GMailSender(ByVal Username As String,
  16.                            ByVal Password As String,
  17.                            ByVal Subject As String,
  18.                            ByVal Body As String,
  19.                            ByVal Addresses As String)
  20.  
  21.            Using MailSetup As New System.Net.Mail.MailMessage
  22.  
  23.                MailSetup.Subject = Subject
  24.                MailSetup.To.Add(Addresses)
  25.                MailSetup.From = New System.Net.Mail.MailAddress(Username)
  26.                MailSetup.Body = Body
  27.  
  28.                Using SMTP As New System.Net.Mail.SmtpClient("smtp.gmail.com")
  29.                    SMTP.Port = 587
  30.                    SMTP.EnableSsl = True
  31.                    SMTP.Credentials = New Net.NetworkCredential(Username, Password)
  32.                    SMTP.Send(MailSetup)
  33.                End Using ' SMTP
  34.  
  35.            End Using ' MailSetup
  36.  
  37.    End Sub

Traducción al vuelo a C#:

Código
  1. // GMail Sender
  2. // By Elektro
  3. //
  4. // Usage Examples :
  5. // GMailSender("Username@Gmail.com", "Password", "Email Subject", "Message Body", "Receiver@Address.com")
  6. //
  7. /// <summary>
  8. /// Sends an e-mail through GMail service.
  9. /// </summary>
  10. /// <param name="Username">Indicates the GMail account username.</param>
  11. /// <param name="Password">Indicates the GMail account password.</param>
  12. /// <param name="Subject">Indicates e-mail subject.</param>
  13. /// <param name="Body">Indicates e-mail body.</param>
  14. /// <param name="Addresses">Indicates the address(es) to send.</param>
  15.  
  16. private void GMailSender(string Username, string Password, string Subject, string Body, string Addresses)
  17. {
  18. using (System.Net.Mail.MailMessage MailSetup = new System.Net.Mail.MailMessage()) {
  19.  
  20. MailSetup.Subject = Subject;
  21. MailSetup.To.Add(Addresses);
  22. MailSetup.From = new System.Net.Mail.MailAddress(Username);
  23. MailSetup.Body = Body;
  24.  
  25. using (System.Net.Mail.SmtpClient SMTP = new System.Net.Mail.SmtpClient("smtp.gmail.com")) {
  26. SMTP.Port = 587;
  27. SMTP.EnableSsl = true;
  28. SMTP.Credentials = new Net.NetworkCredential(Username, Password);
  29. SMTP.Send(MailSetup);
  30. }
  31. // SMTP
  32.  
  33. }
  34. // MailSetup
  35.  
  36. }
  37.  
  38. //=======================================================
  39. //Service provided by Telerik (www.telerik.com)
  40. //Conversion powered by NRefactory.
  41. //Twitter: @telerik
  42. //Facebook: facebook.com/telerik
  43. //=======================================================
  44.  

saludos


« Última modificación: 9 Septiembre 2014, 13:35 pm por Eleкtro » En línea



MaliaHdez

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: C# SMTP
« Respuesta #2 en: 8 Junio 2016, 18:32 pm »

Saludo, yo habia estado usando esa aplicacion de enviar correo, pero de un tiempo para aca no funciona, incluso estoy probando este ejemplo y me da el mismo error
El servidor SMTP requiere una conexión segura o el cliente no se autenticó. La respuesta del servidor fue: 5.5.1 Authentication Required. Learn more at

En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: C# SMTP
« Respuesta #3 en: 17 Junio 2016, 00:03 am »

de un tiempo para aca no funciona
El servidor SMTP requiere una conexión segura o el cliente no se autenticó.
La respuesta del servidor fue: 5.5.1 Authentication Required.

No hay ningún error en el código, sin embargo, hace ya bastante tiempo Google realizó unos cambios, y desde entonces para poder enviar correos electrónicos mediante SMTP primero debes habilitar una opción en la configuración de tu cuenta de GMail para permitir este tipo de aplicaciones. aquí:


Saludos
En línea



tadeojones

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: C# SMTP
« Respuesta #4 en: 19 Junio 2016, 09:25 am »

yo acabo de activar lo que comentas pero sigue sin enviarlo
Código
  1.  
  2.  
  3.                        string admin="correode@gmail.com";
  4.                        string passadmin="passdecorreode";
  5.  
  6.                        MailMessage _Correo = new MailMessage();
  7.                        _Correo.From = new MailAddress(admin);
  8.                        _Correo.To.Add(CorreotextBox.Text);
  9.                        _Correo.Subject = "Bienvenido a la aplicacion de Pepe";
  10.                        _Correo.Body="Le informamos :\n\n usuario : "+usuario+"\n contraseña : "+passw;
  11.                        _Correo.IsBodyHtml = true;
  12.                        _Correo.Priority = MailPriority.Normal;
  13.  
  14.                        SmtpClient smtp = new SmtpClient();
  15.                        smtp.Credentials = new NetworkCredential(admin,passadmin);
  16.                        smtp.Host = "smtp.gmail.com";
  17.                        smtp.Port = 465;// 465; //587
  18.                        smtp.EnableSsl = false;
  19.  
  20.                        try
  21.                        {
  22.                            smtp.Send(_Correo);
  23.                            MessageBox.Show("Se ha enviado un correo a su cuenta de correo", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
  24.  
  25.                        }
  26.                        catch (Exception ex)
  27.                        {
  28.                            MessageBox.Show("error " + ex);
  29.                            MessageBox.Show("No se ha podido enviar correo", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
  30.  
  31.                        }
  32.                        finally
  33.                        {
  34.                            _Correo.Dispose();
  35.                        }
  36.  

y el pedazo de error :



P:D: Solucionado con el codigo de Elektro
« Última modificación: 19 Junio 2016, 10:17 am por tadeojones » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: C# SMTP
« Respuesta #5 en: 19 Junio 2016, 10:44 am »

¿Por qué motivo has modificado el puerto y has desactivado la propiedad EnableSSL?.

Como indica la documentación de Google (https://support.google.com/a/answer/176600?hl=es) el puerto 465 requiere un método de conexión mediante SSL, sin embargo, como indica la documentación de Microsoft respecto a la class Smptclient (https://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.enablessl%28v=vs.110%29.aspx), dicho método de conexión no está soportado.

Solución:
Utiliza el puerto 587 (TLS) y activa la propiedad EnableSSL. Exactamente como en el ejemplo que proporcioné, así te debería funcionar; de lo contrario, especifica que error tienes despues de haber aplicado las correcciones que acabo de mencionar.

Saludos!
« Última modificación: 19 Junio 2016, 10:52 am por Eleкtro » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
SMTP
Programación Visual Basic
Yekka 5 4,201 Último mensaje 19 Enero 2008, 00:50 am
por nadiuskarenas
smtp con tsl
Programación Visual Basic
claus86 0 1,669 Último mensaje 16 Marzo 2010, 17:36 pm
por claus86
Recomendacion de SMTP
Dudas Generales
annonymoushack 1 1,942 Último mensaje 4 Mayo 2019, 15:24 pm
por rub'n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines