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

Enviar Correo Electronico desde WinForm

Estas en el tema de Enviar Correo Electronico desde WinForm en el foro de .NET en Foros del Web. Que tal! Quiero enviar un correo electronico mediante un evento en mi winform, he buscado en la ayuda y al parecer es muy sencillo. Pero ...
  #1 (permalink)  
Antiguo 19/04/2006, 12:27
Avatar de pip<fLaSh>  
Fecha de Ingreso: noviembre-2004
Ubicación: Aguascalientes, México
Mensajes: 62
Antigüedad: 19 años, 5 meses
Puntos: 0
Pregunta Enviar Correo Electronico desde WinForm

Que tal!

Quiero enviar un correo electronico mediante un evento en mi winform, he buscado en la ayuda y al parecer es muy sencillo.

Pero no puedo encontrar el espacio de nombres que necesita el ejemplo, no tengo idea de lo que ocurre. Alguien sabe algo al respecto? Les agradecere mucho su ayuda.

Saludos.
  #2 (permalink)  
Antiguo 20/04/2006, 08:28
 
Fecha de Ingreso: octubre-2003
Mensajes: 162
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola, lo tienes en el System.Net.Mail.SmtpClient ;)
Saludos.
  #3 (permalink)  
Antiguo 20/04/2006, 12:05
Avatar de pip<fLaSh>  
Fecha de Ingreso: noviembre-2004
Ubicación: Aguascalientes, México
Mensajes: 62
Antigüedad: 19 años, 5 meses
Puntos: 0
Listo, ya lo encontre, les dejo el codigo por si alguien lo llega a ocupar (de cualquier forma lo saque de la ayuda de VB.NET).

Es con una referencia a System.web.dll

Dim email As New System.Web.Mail.MailMessage
email.To = "[email protected]"
email.From = "[email protected]"
email.Body = BoxMensaje.Text
email.Subject = BoxNomb.Text + " le ha enviado un mensaje. Correo electrónico: " + BoxCorreo.Text
email.BodyFormat = Web.Mail.MailFormat.Text
System.Web.Mail.SmtpMail.SmtpServer = "agroclima.com.mx"
System.Web.Mail.SmtpMail.Send(email)

Saludos.
  #4 (permalink)  
Antiguo 26/04/2006, 12:47
Avatar de MichaellR  
Fecha de Ingreso: noviembre-2004
Ubicación: Lima - Peru
Mensajes: 85
Antigüedad: 19 años, 5 meses
Puntos: 0
Y alguien sabe como uno puede mandar un mismo email pero masivamente pero en el .net??
  #5 (permalink)  
Antiguo 26/04/2006, 15:55
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Cita:
Iniciado por MichaellR
Y alguien sabe como uno puede mandar un mismo email pero masivamente pero en el .net??
yo lo haría con un ciclo for y que en cada salto me cambie el email y listo..

nos vemos
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #6 (permalink)  
Antiguo 06/06/2006, 02:40
 
Fecha de Ingreso: junio-2006
Mensajes: 1
Antigüedad: 17 años, 10 meses
Puntos: 0
Adjuntar archivos para enviar por correo

hola! respecto a lo de enviar un e-mail a mi me funciona, pero cuando quiero adjuntar un archivo con la propiedad Attachments, no se envia el e-mail.

Esto es lo que realizo:
MailMessage correo = new MailMessage();

correo.From = "[email protected]";
correo.To = "[email protected]";
correo.Subject = "asunto";
correo.Body = "mensaje";
correo.BodyFormat = MailFormat.Text;
correo.Priority = MailPriority.Normal;
correo.Attachments.Add(new MailAttachment("c:/documento.txt"));
SmtpMail.Send(correo);

Si alguien me puede ayudar se lo agradecería.
  #7 (permalink)  
Antiguo 06/06/2006, 08:16
 
Fecha de Ingreso: enero-2005
Ubicación: Burela (Lugo)
Mensajes: 15
Antigüedad: 19 años, 3 meses
Puntos: 0
Si te sirve de algo, yo tengo el siguiente fragmento de código en una aplicación que está funcionando correctamente, y envía el archivo adjunto

SmtpClient cliente = new SmtpClient();
MailMessage mensaje = new MailMessage();

MailAddress DirDe = new MailAddress(CorreoMail, NombreMail);
MailAddress DirA = new MailAddress(mail_destino, nom_destino);
Attachment att = new Attachment(@"c:\impresion.xml");
NetworkCredential netcred = new NetworkCredential(UsuarioMail,PasswordMail, DominioMail);
mensaje.From = DirDe;
mensaje.To.Add(DirA);
mensaje.IsBodyHtml =
true;
mensaje.Body = texto;
mensaje.Subject = asunto;
mensaje.Attachments.Add(att);
if (!string.IsNullOrEmpty(CorreoCC))
{
MailAddress DirCC = new MailAddress(CorreoCC, NombreCC);
mensaje.CC.Add(DirCC);
}
cliente.Host = HostMail;
cliente.UseDefaultCredentials =
false;
cliente.Credentials = netcred;
cliente.Send(mensaje);

Espero que te sirva de algo.
  #8 (permalink)  
Antiguo 06/06/2006, 08:39
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Qué es lo que se pasa como parámetros en esta línea?
Código:
NetworkCredential netcred = new NetworkCredential(UsuarioMail,PasswordMail, DominioMail);
El primer y segundo parámetro pertenecen a los típicos nombre de cuenta y contraseña, al configurar la cuenta en un cliente de correo como outlook o Thunderbird? Y el tercer parámetro, dominio, a que se refiere? Qué hay que ponerle ahí exactamente?
Thanks man.
__________________
..:: moNTeZIon ::..
  #9 (permalink)  
Antiguo 06/06/2006, 08:56
 
Fecha de Ingreso: enero-2005
Ubicación: Burela (Lugo)
Mensajes: 15
Antigüedad: 19 años, 3 meses
Puntos: 0
Si miras la ayuda del Visual, verás que NetworkCredential se puede iniciar de tres formas:
1. - Sin pasarle ningún parámetro.
2. - Pasando dos cadenas de texto.
3. - Pasando tres cadenas de texto.

Normalmente para enviar un correo electrónico por POP3, utilizaríamos la 2, puesto que lo que pasamos sería primero el usuario ([email protected]) y luego la contraseña (manolo).

En mi caso he utilizado la 3 porque en la empresa tenemos como servidor de correo Exchange 2003, y por tanto tengo que pasar usuario (pepito), contraseña (manolo) y dominio (ejemplo.com), puesto que no tenemos habilitado el POP3.

Espero que te sirva de algo todo este rollo.

Un saludo.
  #10 (permalink)  
Antiguo 07/06/2006, 09:07
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 3 meses
Puntos: 9
Claro que sirvió!
Gracias y saludos.
__________________
..:: moNTeZIon ::..
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 11:20.