예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        /// <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);
        }