Por Geymer Morales Cruz

Compartiendo Información...

Envio de Correos Desde C#

Hola de nuevo, he estado aprendiendo poco a poco el lenguaje de programación C# que dia a dia me gusta más, en este primer artículo os enseñare a enviar un correo electrónico desde un programa hecho en esta poderosa herramienta con que contamos los desarrolladores ..
En primer lugar diseñamos una ventana más o menos como esta…




Una ves diseñada esta ventana en el botón enviar programamos lo siguiente:

System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
msg.To.Add("destinatario@hotmail.com");

msg.From = new MailAddress("emisor@gmail.com", "Usuario", System.Text.Encoding.UTF8);
msg.Subject = "ES UNA PRUEBA";
msg.SubjectEncoding = System.Text.
Encoding.UTF8;
msg.Body = "HOLA HOLA ES UNA PRUEBA";
msg.BodyEncoding = System.Text.
Encoding.UTF8;
msg.IsBodyHtml = false;


String sFile = @"C:\Users\Programador\Desktop\Enviar_Correos\DocAdjunto.docx";
Attachment oAttch = new Attachment (sFile);
msg.Attachments.Add(oAttch);

SmtpClient client = new SmtpClient();
client.Credentials = new System.Net.NetworkCredential("em
isor@gmail.com", "clavecredenciales");
client.Port = 587;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
try
{

client.Send(msg);
}
catch (System.Net.Mail.SmtpException)
{

MessageBox.Show("Error");
}

Los Puntos más importantes a destacar aquí son los siguientes:

1 - En Este punto agregamos el correo a donde enviaremos la información

msg.To.Add("destinatario@hotmail.com");

2 - Aca asignaremos el correo de donde envio el mensaje en este caso es en gmail, igual pueden utilizar el de hotmail etc, aparte en Usuario pueden poner su nombre o cualquier otra palabra, esta se mostrara a la persona que le llegue el e-mail

msg.From = new MailAddress("emisor@gmail.com", "Usuario", System.Text.Encoding.UTF8);

3 – Aca escribimos el asunto del correo electronico a enviar

msg.Subject = "ES UNA PRUEBA";

4 – Asi como el mensaje a enviar

msg.Body = "HOLA HOLA ES UNA PRUEBA";

5 – Muy interesante si deseas adjuntar algun archivo solamente le asignas la direccion del mismo, cabe mencionar que puedes utilizar controles para que las direcciones de los archivos no sean fijas por ejemplo el OpenFileDialog que trae Visual Studio

String sFile = @"C:\Users\Programador\Desktop\Enviar_Correos\DocAdjunto.docx";
Attachment oAttch = new Attachment (sFile);
msg.Attachments.Add(oAttch);


6 – Los credenciales es muy importante, en este caso seria tu cuenta en gmail asi como tu contraseña de acceso, el puerto varia depende del servidor smtp ademas esta direccion smtp varia tambien dependiendo de que correo desees utilizar para hacer uso de la herrramienta

SmtpClient client = new SmtpClient();
client.Credentials = new System.Net.NetworkCredential("em
isor@gmail.com", "clavecredenciales");
client.Port = 587;
client.Host = "smtp.gmail.com";


Esto adaptado al diseño del formulario se veria algo asi:



Importante ¡¡¡ no se les olvide importar las siguiente librerias...

using System.Collections;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;


Listo¡¡¡ asi de facil se envian correos electronicos desde C#



Hasta la Proxima ¡¡¡¡



-->

0 comentarios: