Foros del Web » Programación para mayores de 30 ;) » .NET »

envio de mail desde winforms

Estas en el tema de envio de mail desde winforms en el foro de .NET en Foros del Web. Buenas noches, Yo estoy desarrollando una aplicacion que permita el envio y recepcion de e-mails por medio de una cuenta de hotmail. El problema es ...
  #1 (permalink)  
Antiguo 10/07/2009, 23:45
 
Fecha de Ingreso: diciembre-2008
Mensajes: 7
Antigüedad: 15 años, 5 meses
Puntos: 1
envio de mail desde winforms

Buenas noches,
Yo estoy desarrollando una aplicacion que permita el envio y recepcion de e-mails por medio de una cuenta de hotmail. El problema es que cuando intento enviar el correo, dice que el servidor requiere autenticacion :S y no se como indicar esto en codigo del c#

Estoy utilizando el SmtpClient, si alguien me pudiera ayudar se lo agradeceria mucho gracias!!!
:)
  #2 (permalink)  
Antiguo 10/07/2009, 23:46
 
Fecha de Ingreso: diciembre-2008
Mensajes: 7
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: envio de mail desde winforms

este el codigo

SmtpClient theClient = new SmtpClient("smtp.live.com", 25);
System.Net.NetworkCredential theCredential = new
System.Net.NetworkCredential("[email protected] m", "pwd");
theClient.Credentials = theCredential;
theClient.Send(theMailMessage);
  #3 (permalink)  
Antiguo 11/07/2009, 06:49
 
Fecha de Ingreso: diciembre-2007
Mensajes: 107
Antigüedad: 16 años, 4 meses
Puntos: 4
Respuesta: envio de mail desde winforms

Cita:
Iniciado por mass1023 Ver Mensaje
este el codigo

SmtpClient theClient = new SmtpClient("smtp.live.com", 25);
System.Net.NetworkCredential theCredential = new
System.Net.NetworkCredential("[email protected] m", "pwd");
theClient.Credentials = theCredential;
theClient.Send(theMailMessage);
se requieren librerias extras?
  #4 (permalink)  
Antiguo 11/07/2009, 10:27
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 11 meses
Puntos: 220
Respuesta: envio de mail desde winforms

no solo necesitar¡as importar esta clase

Imports System.Net.Mail
Imports System.Net.Mail.MailMessage


este el codigo que yo utilizo

Código vb.net:
Ver original
  1. ' Procedimiento para Envio de Mensajes
  2.     Public Sub EnviarMail(ByVal De As String, ByVal Para As String(), ByVal Asunto As String, ByVal Cuerpo As String, Optional ByVal CC As String() = Nothing, Optional ByVal CCO As String() = Nothing)
  3.  
  4.         Dim Msg As New MailMessage ' Instancia para Manejar el Envio de Archivos
  5.         Dim SMTP As New SmtpClient ' Uso de SMTP para el envio y codificacion de Archivos
  6.         System.Windows.Forms.Cursor.Current = Cursors.WaitCursor
  7.         Try
  8.  
  9.             Msg.From = New System.Net.Mail.MailAddress(De, "", System.Text.Encoding.UTF8) ' De quien se envia el Correo
  10.  
  11.             For Each From As String In Para
  12.                 If From <> "" Then Msg.To.Add(From) ' Para quien se Envia
  13.  
  14.             Next
  15.  
  16.  
  17.             If CC IsNot Nothing Then
  18.                 For Each C As String In CC
  19.                     If C <> "" Then Msg.CC.Add(C)
  20.                 Next
  21.             End If
  22.  
  23.             If CCO IsNot Nothing Then
  24.                 For Each C As String In CCO
  25.                     If C <> "" Then Msg.Bcc.Add(C)
  26.                 Next
  27.             End If
  28.  
  29.             Msg.Subject = Asunto ' Asunto sobre el Envio del Mensaje
  30.             Msg.SubjectEncoding = System.Text.Encoding.UTF8 ' Encriptando el Asunto del Mensaje
  31.  
  32.             Msg.Body = Cuerpo ' Cuerpo del Mensaje
  33.             Msg.BodyEncoding = System.Text.Encoding.UTF8 ' Codificando el Cuerpo del Mensaje
  34.             Msg.IsBodyHtml = False ' El Cuerpo del Mensaje no es HTML
  35.  
  36.             SMTP.UseDefaultCredentials = False ' Si requiere Credenciales por Defecto
  37.             SMTP.Credentials = New System.Net.NetworkCredential("[email protected]", "xxxxxx") ' las Credenciales para poder enviar el Mensaje
  38.             SMTP.Port = 587 ' El puerto que utiliza para el envio de Mensajes
  39.             SMTP.Host = "smtp.gmail.com" ' el Servidor para el envio de Mensajes
  40.             SMTP.EnableSsl = True ' Esto es para que vaya a través de SSL(Uso de Certificado Digital) por si usamos GMail por ejm.
  41.             SMTP.DeliveryMethod = Net.Mail.SmtpDeliveryMethod.Network ' Enviando Atravez de la red
  42.  
  43.             SMTP.Send(Msg)
  44.             MsgBox("Mensaje Enviado con Exito", 32, "Aviso")
  45.  
  46.         Catch ex As Exception
  47.             MsgBox(ex.Message, 48, "Aviso")
  48.         Finally
  49.             System.Windows.Forms.Cursor.Current = Cursors.Default
  50.         End Try
  51.  
  52.     End Sub
  53.  
  54.    ' Ejemplo de como utilizarlos
  55.  
  56. Dim CC() As String = {"correo1", "correo2", "correo3"}
  57. Dim CCO() As String = {"correo3", "correo4", "correo5"}
  58. EnviarMail("xxx", "xxx", "xxx", "xxxx", CC, CCO)
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #5 (permalink)  
Antiguo 11/07/2009, 13:21
 
Fecha de Ingreso: diciembre-2007
Mensajes: 107
Antigüedad: 16 años, 4 meses
Puntos: 4
Respuesta: envio de mail desde winforms

Cita:
Iniciado por Dradi7 Ver Mensaje
no solo necesitar¡as importar esta clase

Imports System.Net.Mail
Imports System.Net.Mail.MailMessage


este el codigo que yo utilizo

Código vb.net:
Ver original
  1. ' Procedimiento para Envio de Mensajes
  2.     Public Sub EnviarMail(ByVal De As String, ByVal Para As String(), ByVal Asunto As String, ByVal Cuerpo As String, Optional ByVal CC As String() = Nothing, Optional ByVal CCO As String() = Nothing)
  3.  
  4.         Dim Msg As New MailMessage ' Instancia para Manejar el Envio de Archivos
  5.         Dim SMTP As New SmtpClient ' Uso de SMTP para el envio y codificacion de Archivos
  6.         System.Windows.Forms.Cursor.Current = Cursors.WaitCursor
  7.         Try
  8.  
  9.             Msg.From = New System.Net.Mail.MailAddress(De, "", System.Text.Encoding.UTF8) ' De quien se envia el Correo
  10.  
  11.             For Each From As String In Para
  12.                 If From <> "" Then Msg.To.Add(From) ' Para quien se Envia
  13.  
  14.             Next
  15.  
  16.  
  17.             If CC IsNot Nothing Then
  18.                 For Each C As String In CC
  19.                     If C <> "" Then Msg.CC.Add(C)
  20.                 Next
  21.             End If
  22.  
  23.             If CCO IsNot Nothing Then
  24.                 For Each C As String In CCO
  25.                     If C <> "" Then Msg.Bcc.Add(C)
  26.                 Next
  27.             End If
  28.  
  29.             Msg.Subject = Asunto ' Asunto sobre el Envio del Mensaje
  30.             Msg.SubjectEncoding = System.Text.Encoding.UTF8 ' Encriptando el Asunto del Mensaje
  31.  
  32.             Msg.Body = Cuerpo ' Cuerpo del Mensaje
  33.             Msg.BodyEncoding = System.Text.Encoding.UTF8 ' Codificando el Cuerpo del Mensaje
  34.             Msg.IsBodyHtml = False ' El Cuerpo del Mensaje no es HTML
  35.  
  36.             SMTP.UseDefaultCredentials = False ' Si requiere Credenciales por Defecto
  37.             SMTP.Credentials = New System.Net.NetworkCredential("[email protected]", "xxxxxx") ' las Credenciales para poder enviar el Mensaje
  38.             SMTP.Port = 587 ' El puerto que utiliza para el envio de Mensajes
  39.             SMTP.Host = "smtp.gmail.com" ' el Servidor para el envio de Mensajes
  40.             SMTP.EnableSsl = True ' Esto es para que vaya a través de SSL(Uso de Certificado Digital) por si usamos GMail por ejm.
  41.             SMTP.DeliveryMethod = Net.Mail.SmtpDeliveryMethod.Network ' Enviando Atravez de la red
  42.  
  43.             SMTP.Send(Msg)
  44.             MsgBox("Mensaje Enviado con Exito", 32, "Aviso")
  45.  
  46.         Catch ex As Exception
  47.             MsgBox(ex.Message, 48, "Aviso")
  48.         Finally
  49.             System.Windows.Forms.Cursor.Current = Cursors.Default
  50.         End Try
  51.  
  52.     End Sub
  53.  
  54.    ' Ejemplo de como utilizarlos
  55.  
  56. Dim CC() As String = {"correo1", "correo2", "correo3"}
  57. Dim CCO() As String = {"correo3", "correo4", "correo5"}
  58. EnviarMail("xxx", "xxx", "xxx", "xxxx", CC, CCO)
pero eso seria para vb
  #6 (permalink)  
Antiguo 11/07/2009, 14:18
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Respuesta: envio de mail desde winforms

Ok en algo esto desacuerdo con muchos posts en el foro

Yo se que todos buscan una solucion exacta a su problema. pero si es la misma plataforma no puede tomar el codigo en vb ver que objetos , clases y recuros usan,y a mano hacer su propio codigo en c# o viceversa si fuera el caso.

Veo que muchas veces la gente no tiene la iniciativa de buscar la solucion si no como decimos aca (en mexico) quieren todo peladito y a la boca. las cosas no son simples y recuerden que esto es un foro y nadie esta obligado a hacer el trabajo de nadie si quiera a contestar, pero si gente como el buen dradi o el que escribio el post y se auto-responde, y muchos mas hacen el esfuerzo por compartir su codigo, porque no tener por lo menos la curiosidad de investigar.

PD: Este es un punto de vista offtopic al post anterior asi que solo tomenlo como una recomendacion.
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #7 (permalink)  
Antiguo 11/07/2009, 23:51
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 11 meses
Puntos: 220
Respuesta: envio de mail desde winforms

PeterPay tiene razon si se usa la misma plataforma porque no lo pasas tu a C# acaso tan complicado es en pasar ese codigo en C# acuerdate que nadie te va a dar todo apoyamos y aportamos ideas pero si tu quieres que te den todo servido entonces como piensan tu y los otros aprender
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:52.