/// <summary> /// Realiza la generacion de correo electronico. /// En este caso se generara un archivo html en la carpeta temporal del sistema. /// Se graba un archivo por cada destinatario, no se graban archivos por destinatarios ocultos. /// </summary> /// <param name="correoElectronico">Ingrese el correo electronico a simular que va a enviar.</param> /// <returns></returns> public EnumeradoresCorreoElectronico.ResultadoEnvioCorreoElectronico EnviarCorreoElectronico(CorreoElectronico correoElectronico) { try { foreach (var item in correoElectronico.Destinatarios) { //Preparo el nombre del archivo. var nombreArchivo = Convertidores.FechaAFechaLargaParaArchivo() + " enviado a " + item.CorreoElectronico + ".htm"; var carpetaTemp = Sistema.Windows.ObtenerCarpetaTemporal(); carpetaTemp = Carpetas.CombinarDirecciones(carpetaTemp, "DevCity Mailing"); carpetaTemp = Carpetas.CombinarDirecciones(carpetaTemp, nombreArchivo); //Por las dudas creo la carpeta. Sistema.SistemaArchivos.Instancia().Carpetas.CrearCarpeta(Carpetas.ObtenerRutaCarpetaDeRutaCompleta(carpetaTemp)); //Guardo el archivo. Sistema.SistemaArchivos.Instancia().Archivos.GrabarEnString(carpetaTemp, correoElectronico.CuerpoCorreo); } return(EnumeradoresCorreoElectronico.ResultadoEnvioCorreoElectronico.Exito); } catch (Exception) { return(EnumeradoresCorreoElectronico.ResultadoEnvioCorreoElectronico.ErrorCreandoArchivosMail); } }
/// <summary> /// Permite el envio de correo electronico por Net Mailing. /// </summary> /// <param name="correoElectronico"></param> /// <returns></returns> /// <remarks></remarks> public EnumeradoresCorreoElectronico.ResultadoEnvioCorreoElectronico EnviarCorreoElectronico(CorreoElectronico correoElectronico) { // Instancia contenedora del smtp de envio (de ser necesario, aca puede agregarse el host y el puerto) SmtpClient sMTP = new SmtpClient(); // Instancia contendora del email. MailMessage mensaje = new MailMessage(); // Cargo la informacion en el mensaje // With... // De quien se envia mensaje.From = new MailAddress(correoElectronico.RemitenteCorreo, correoElectronico.RemitenteNombreMostrar); // El titulo del email. mensaje.Subject = correoElectronico.TituloCorreo; // El contenido del mensaje mensaje.Body = correoElectronico.CuerpoCorreo; // Indico si es html mensaje.IsBodyHtml = correoElectronico.EsHTML; // Agrego los destinatarios normales. foreach (SeccionDestinatario destinatario in correoElectronico.Destinatarios) { mensaje.To.Add(new MailAddress(destinatario.CorreoElectronico, destinatario.NombreMostrar)); } // Agrego los destinatarios ocultos. foreach (SeccionDestinatario destinatario in correoElectronico.DestinatariosOcultos) { mensaje.Bcc.Add(new MailAddress(destinatario.CorreoElectronico, destinatario.NombreMostrar)); } //Ingreso las Credenciales del Mail encargado de enviar sMTP.Credentials = new NetworkCredential("*****@*****.**", "Diploma2015"); sMTP.Host = "smtp.gmail.com"; sMTP.Port = 587; sMTP.EnableSsl = true; try { // Lo envio sMTP.Send(mensaje); } catch (Exception e) { Framework.Diagnostico.LogueadorEventViewer.Instancia().LogCritico("El siguiente error es mostrado al generar un mail: " + e.ToString(), "Correo", "Healthy Fox"); } // Devuelvo el exito return(EnumeradoresCorreoElectronico.ResultadoEnvioCorreoElectronico.Exito); }