Mandar Correo con c# y smtp de gmail

Iniciado por Devilboy, Enero 09, 2011, 06:06:27 PM

Tema anterior - Siguiente tema

0 Miembros y 2 Visitantes están viendo este tema.

Enero 09, 2011, 06:06:27 PM Ultima modificación: Noviembre 07, 2014, 11:12:38 AM por Snifer
primero se incluye este namespace

Código: csharp
using System.Net.Mail;


y dentro de un boton por ejemplo se escribe esto:

Código: csharp
            MailMessage correo = new MailMessage();
            correo.From = new MailAddress("Tu_correo");
            correo.To.Add("E-mail_destinatario");
            correo.Subject = "Prueba";
            correo.Body = "prueba de correo";
           
            SmtpClient cliente = new SmtpClient("smtp.gmail.com");
            cliente.Port = 587;
            cliente.Credentials = new System.Net.NetworkCredential("Tu_correo_gmail", "Tu_password");
            cliente.EnableSsl = true;
            cliente.Send(correo);



adema puede quedar mucho mas lindo si usamos un formulario windows y cambiamos los datos por campos de texto
ademas si se agrega esto:

Código: csharp
correo.IsBodyHtml = true;


en el cuerpo del mensaje podemos agregar html


y para finalizar con estas lineas podemos adjuntar un archivo:

Código: csharp
            Attachment adjuntos = new Attachment("ruta_de_nuestro_archivo/carta.txt");
            correo.Attachments.Add(adjuntos);


espero les guste

Veo Una Energia Que Con Deceo de Justicia... Veo Mas Alla de LAs Letras Escritas...
Veo Un Hacktivismo Puro... Nacido De lo Mas Profundo De un Corazon..
Con La Mirada Firme En Defender Mis Ideales...


Noviembre 07, 2014, 11:08:05 AM #1 Ultima modificación: Noviembre 07, 2014, 11:13:15 AM por Snifer
Devil, te hago una pregunta
en la parte del codigo donde mandas el usuario y la pass

cliente.Credentials = new System.Net.NetworkCredential("Tu_correo_gmail", "Tu_password");

no hay manera de que se utilice cifrada la password? porque lo veo muy vulnerable a ese paso jeje

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Devil, te hago una pregunta
en la parte del codigo donde mandas el usuario y la pass

cliente.Credentials = new System.Net.NetworkCredential("Tu_correo_gmail", "Tu_password");

no hay manera de que se utilice cifrada la password? porque lo veo muy vulnerable a ese paso jeje


En efecto, aunque no sé, si no me equivoco C# debe ser compilado, ¿no evitaría eso que se puede sacar el password?

Me imagino dependerá si se puede hacer ingeniería inversa o no.

Si, al compilarlo no lo va a hacer tan visible, pero sin saber mucho de ingenieria inversa, imagino que se debe poder facilmente leer eso...

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Devil, te hago una pregunta
en la parte del codigo donde mandas el usuario y la pass

cliente.Credentials = new System.Net.NetworkCredential("Tu_correo_gmail", "Tu_password");

no hay manera de que se utilice cifrada la password? porque lo veo muy vulnerable a ese paso jeje

no veo mucho el caso a encriptar el campo de password, ya que el codigo se puede o debe usarse en un winform por lo que en lugar de hardcodear el password, este debe de ser un tipo textbox.text o mejor aun un textbox.password

Veo Una Energia Que Con Deceo de Justicia... Veo Mas Alla de LAs Letras Escritas...
Veo Un Hacktivismo Puro... Nacido De lo Mas Profundo De un Corazon..
Con La Mirada Firme En Defender Mis Ideales...


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Si, al compilarlo no lo va a hacer tan visible, pero sin saber mucho de ingenieria inversa, imagino que se debe poder facilmente leer eso...
Es texto plano, lo ves a simple vista en el ejecutable.

En si, nuestras contraseñas siempre estan guardadas en texto plano en nuestra computadora. Si no lo estan en disco, lo estan en memoria, asi que no veo necesario el cifrar la contraseña en este caso.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Es texto plano, lo ves a simple vista en el ejecutable.

En si, nuestras contraseñas siempre estan guardadas en texto plano en nuestra computadora. Si no lo estan en disco, lo estan en memoria, asi que no veo necesario el cifrar la contraseña en este caso.

¿Estás seguro de lo que estás diciendo? ¿nuestras contraseñas siempre están en texto plano? Creo que me he perdido de algo muy grande por allí entonces, por que todas las mías están encriptadas, aunque claro me puedo equivocar...

Encriptadas donde? Encriptadas por que? En memoria nunca van a estar encriptadas, de ahi es facil sacarlas (dumpeando la memoria, hookeando ciertas funciones)
Las contraseñas generalmente se guardan en archivos de texto (los archivos de filezilla, los de pidgin) sin cifrar o en bases de datos que son faciles de descifrar ya que las contraseñas para descifrar esas DB estan en alguna parte del ejecutable o del registro o algun archivo (Thunderbird, Firefox y la mayoria de los navegadores hacen esto. Pueden encontrarse programas que recuperan estas contraseñas). O guardan hashes que se rompen bruteforceando.
Puede que esten encriptadas en disco (Software de gestion de claves y cosas asi), pero dumpeando la memoria despues de que pusiste la password, plaf, owned.
Manejar contraseñas siempre va a ser inseguro a menos que se cifre el disco, tambien pueden quedar en hiberfil.sys o pagefil.sys en el caso de windows.
En el caso de ejecutables, por mas encriptado que este algo, siempre lo vas a poder descifrar (bueno, a menos que este el dato cifrado ahi y la contraseña para descifrarlo no este guardada en ningun lado)
Encriptadas por que y como? En donde lo decis? Si me das mas info sobre tu caso talvez pueda ayudarte.

Creo que no fui muy claro. Por mas que encriptes contraseñas en el disco, si tienen acceso, van a poder sacarla. Hay muchisimos factores que entran en juego. Te recomiendo que leas esto:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
En esa pagina hay mucha informacion del tema.

Aca hay software util No tienes permitido ver los links. Registrarse o Entrar a mi cuenta para recuperar contraseñas.

Aca No tienes permitido ver los links. Registrarse o Entrar a mi cuenta hay scripts que extraen la configuracion de algunos troyanos publicos que en muchos casos esta "encriptado".

Y asi puedo seguir dando ejemplos :P