Lo primero que debemos hacer es llamar la libreria: using System.Net.Mail; luego para fines de este ejemplo, se crea un método llamado SendMail que contiene toda la funcionalidad necesaria para construir y enviar el correo.
A continuación se declara un método llamado SendMail recibiendo los parámetros necesarios para enviar el correo:
///Al objeto mail, agregamos los destinatarios (previamente fueron separados por punto y coma), copia oculta del correo. Asunto, cuerpo del correo, así como el formato en que se enviara el correo:/// Envía un email /// /// Quien lo envía /// A quien se le envía /// Asunto /// Cuerpo del correo /// Correo con copia oculta /// Adjuntar archivos al correo public void SendMail(System.String sFrom, System.String sTo,System.String sSubject, System.String sBody,System.String sCC, System.String[] sFile) { //Separar correos string[] toAddresses = sTo.Split(';'); //Crear objeto que enviara el mail System.Net.Mail.MailMessage mailNew = new MailMessage(); //Asigna propiedades y dirección desde la que se envía mailNew.From = new System.Net.Mail.MailAddress(sFrom);
//Agregamos los destinatarios del correo y copia oculta foreach (string toAddress in toAddresses) { mailNew.To.Add(new MailAddress(toAddress)); } mailNew.Bcc.Add(sCC); //Asunto y cuerpo del correo mailNew.Subject = sSubject; mailNew.Body = sBody; //Habilitar formato html al correo y prioridad mailNew.IsBodyHtml = true; mailNew.Priority = MailPriority.Normal;Configuramos las propiedades del servidor de correo, si necesita autenticación segura se deben configurar las credenciales (Linea 11):
//Establecemos los datos del servidor de correo System.Net.Mail.SmtpClient SmtpDominio = new System.Net.Mail.SmtpClient(); //Nombre del servidor de correo SmtpDominio.Host = "smtp.dominiocorreo.com"; //Asignamos el número del puerto SmtpDominio.Port = 80; //Autenticación segura SmtpDominio.EnableSsl = true //Si el servidor de correo necesita autenticacion de agrega la siguiente linea SmtpDominio.Credentials = new System.Net.NetworkCredential("correo@dominio.com", "clave123");
Como Enviar un Correo Electronico desde C# con Archivos Adjuntos
Si necesitamos enviar el correo electrónico con archivos adjuntos, se utiliza el siguiente código usando el objeto mailNew, el agrega el archivo a través del método Attachments.Add, como lo pueden observar en el siguiente ejemplo:try { //Limpiar objeto para adjuntar archivos mailNew.Attachments.Clear(); //Si los hay, agregamos archivos adjuntos al correo if (sFile != null) { for (int i = 0; i < sFile.Length; i++) { if (!string.IsNullOrEmpty(sFile[i].ToString())) mailNew.Attachments.Add(new System.Net.Mail.Attachment(sFile[i].ToString())); } } //Enviar correo SmtpDominio.Send(mailNew); //Muy importante esta linea, se debe liberar el objeto que almacena //los archivos adjuntos mailNew.Attachments.Dispose(); } catch (Exception Ex) { //Error enviando } //Archivo Enviado }
Buenas muy bueno tu aporte pero esto seria util para un servicio de windows realizado en c# para el envió automático de correo mediante una fecha de vencimiento avisándole que le quedan menos días para su culminación de (X) tarea...???
ResponderEliminarBuenas como puedo ponerlo en un boton para enviar un correo automáticamente. gracias de antemano
ResponderEliminar