Hola amigos foristas, soy nuevo en esto de .NET pero tengo la mejor de las ganas en poder aprenderlo.
Mi pregunta es la siguiente existe alguna forma de enviar correos sin necesidad de dar credenciales en C#.?
Gracias, espero respuestas.!
| |||
Envio de Correos.!!! Hola amigos foristas, soy nuevo en esto de .NET pero tengo la mejor de las ganas en poder aprenderlo. Mi pregunta es la siguiente existe alguna forma de enviar correos sin necesidad de dar credenciales en C#.? Gracias, espero respuestas.! |
| |||
Echale un ojo a esto compañero: http://www.webprogramacion.com/registro.aspx?id=52 http://www.webprogramacion.com/registro.aspx?id=41 Salu2 Última edición por dvelazquez; 08/08/2007 a las 02:31 |
| |||
![]() Muchas gracias dvelasquez, me gusto mucho el codigo...solo lo traducire a C#...pero puedes responderme otra pregunta.!! Este es el codigo que me gusto: Dim mensaje As MailMessage = New MailMessage("Remitente del correo ", "[email protected]") mensaje.IsBodyHtml = True 'Para permitir el uso de código html en el cuerpo del correo mensaje.Subject = "Asunto del correo electronico" mensaje.Body = "Aquí ya podemos especificar el contenido del correo electronico" mensaje.BodyEncoding = System.Text.Encoding.GetEncoding(1252) Dim cliente As SmtpClient cliente = New SmtpClient("direccion_del_servidor_smtp_para_envia r_el_correo") 'enviamos el mensaje cliente.send(mensaje) Conoces alguna Direccion del servidor smtp para enviar el correo.? En donde estoy no tengo acceso al servidor de correo.? Debo de tener un servidor de correo instalado en mi pc.? El smtp de hotmail.com me sirve.? Espero tu respuesta... Gracias.! |
| |||
Instala un servidor smtp local Hola compañero. Pues tendrás que instalarte un servidor de correo en la máquina que vaya a funcionar el programa y enviar desde ahi. El de hotmail no te va a funcionar de esa manera. Un saludo.
__________________ Artículos sobre programación - www.webprogramacion.com |
| ||||
El servidor de Hotmail te puede servir, siempre y cuando leproporciones credenciales. Personalmente utilizo una cuenta de Gmail para hacerlo. Esto no es una restricción de .net sino que un tema de seguridad de los servidores de correo. Sería muy fácil para spammers no ser identificados si esto no estuviese implementado. No solo podrías mandar correo utilizando un servidor ajeno sin tener las credenciales para hacerlo, sino que aparte podrías mandar correos haciéndote pasar por otra persona. |
| |||
Mil Gracias... Muchisimas gracias, compañeros.!!! Me sirvio de mucho, sus comentarios... Alguien de ustedes me puede colaborar en traducir este codigo que esta en VB .NET a C# .NET, la verdad no tengo ni idea de VB .NET o por lo menos guiarme. Dim mensaje As MailMessage = New MailMessage("Remitente del correo ", "[email protected]") mensaje.IsBodyHtml = True 'Para permitir el uso de código html en el cuerpo del correo mensaje.Subject = "Asunto del correo electronico" mensaje.Body = "Aquí ya podemos especificar el contenido del correo electronico" mensaje.BodyEncoding = System.Text.Encoding.GetEncoding(1252) Dim cliente As SmtpClient cliente = New SmtpClient("direccion_del_servidor_smtp_para_envia r_el_correo") 'enviamos el mensaje cliente.send(mensaje) Gracias.!! |
| ||||
Disculpa pero me confundí... fué uno de los que intenté pero al final me quedé con tro, donde obviamente me tuve que hacer una cuenta. De todas formas el código es este y está actualmente en producción.
Código:
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient(<direccion_del_servidor_smtp>); System.Net.Mail.MailAddress from = new System.Net.Mail.MailAddress(<direccion_del_remitente>); System.Net.Mail.MailAddress to = new System.Net.Mail.MailAddress(<direccion_del_destinatario>); System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(from, to); msg.Subject = "Mail programado"; msg.BodyEncoding = System.Text.Encoding.UTF8; System.Net.NetworkCredential nc = new System.Net.NetworkCredential(<usuario_del_servidor_smtp>, <clave_del_servidor_smtp>); client.Credentials = nc; client.Send(msg); |
| |||
Hola muchachos, ya instale el servidor smtp localmente se llama "Advanced SMTP Server" Pero mi pregunta es cuando ustedes en esta linea de codigo me dice: cliente = New SmtpClient("direccion_del_servidor_smtp_para_envia r_el_correo") Pero mi pregunta es, Esa dirección del servidor de correo smtp, es la ruta donde esta instalado el servidor, ejemplo: "c:/Advanced SMTP Server" Gracias, y disculpen mi ignoracia, pero soy nuevo en esto de los servidores. |
| ||||
Hola pakkocool, No, eso no es una ruta de tu ordenador. Ahi deberías poner una IP o localhost o el nombre de tu máquina. De todas formas, estarás en lo mismo no? Seguirás sin poder mandar correos a fuera. Solo te servirá para tu intranet... Si alguien puede desmentir eso, por favor que diga qué hay que hacer para conseguir que mi SMTP mande correos a cuentas externas a mi intranet, porqué yo con este tema desistí, y acabé haciendo como .seb , a través de una cuenta en un servidor externo.. Venga un saludo.
__________________ ..:: moNTeZIon ::.. |
| |||
Ok, segun como lo hizo .Seb de sacarlo por un servidor externo, el creo una cuenta en Gmail, y simplemente en la linea: System.Net.NetworkCredential nc = new System.Net.NetworkCredential(<usuario_del_servidor _smtp>, <clave_del_servidor_smtp>); Para poder sacarlo por Gmail, debe de ser un registro especial o es una simple cuenta de correo gmail.? Como obtengo la clave del servidor smtp de gmail.? el usuario del servidor smtp seria para mi caso [email protected].? Y como hago referencia de que estoy apuntando al servidor Gmail.? Muchas gracias, espero respuestas...!!! |
| |||
Hola .Seb, he hecho el siguiente codigo:
Código:
Estoy utilizando el smtp de Gmail, pero me sale el siguiente error:System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("smtp.gmail.com"); System.Net.Mail.MailAddress from = new System.Net.Mail.MailAddress("[email protected]"); System.Net.Mail.MailAddress to = new System.Net.Mail.MailAddress("[email protected]"); System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(from, to); msg.Subject = "Mail programado"; msg.BodyEncoding = System.Text.Encoding.UTF8; System.Net.NetworkCredential nc = new System.Net.NetworkCredential("[email protected]","********"); client.Port = 465; client.Credentials = nc; client.Send(msg); "Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder" Alguno de ustede me puede ayudar con esto.? Espero su respuesta.!! Última edición por pakkocool; 17/11/2006 a las 13:55 |
| |||
Re: Envio de Correos.!!! Yo he utilizado: System.Net.Mail.MailMessage correo = new System.Net.Mail.MailMessage(); correo.From = new System.Net.Mail.MailAddress("[email protected] om"); correo.To.Add("[email protected]"); correo.Subject = "Asunto prueba"; correo.Body = "Hola hola"; correo.IsBodyHtml = false; correo.Priority = System.Net.Mail.MailPriority.Normal; System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(@"C:\mail.txt"); //lo añadimos al mail correo.Attachments.Add(attachment); System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient(); smtp.Credentials = new System.Net.NetworkCredential("putorotupalc6@gmail. com", "********"); smtp.Host = "smtp.gmail.com"; smtp.Port = 587 smtp.EnableSsl = true; try { smtp.Send(correo); } catch (Exception except) { } correo.Dispose(); Y me funciona pero en la red de casa. Espero que te sirva de ayuda. C.6 |
| |||
Re: Envio de Correos.!!! Para traducir páginas de vb a C# y alrevés, hay varias páginas: http://www.carlosag.net/Tools/CodeTranslator/ http://labs.developerfusion.co.uk/convert/vb-to-csharp.aspx Por si a alguien le sive. Saludos |