Пример #1
0
        public string DatosTabla()
        {
            List <entidadCorreo> lstCorreo = new List <entidadCorreo>();

            try
            {
                gestion       gn = new gestion();
                DataTable     dt = gn.getDatosTabla();
                entidadCorreo enOb;

                foreach (DataRow dr in dt.Rows)
                {
                    enOb = new entidadCorreo(dr[0].ToString(), dr[1].ToString(), Convert.ToDateTime(dr[2]), dr[3].ToString(), dr[4].ToString(), dr[5].ToString(), dr[6].ToString(), dr[7].ToString(), dr[8].ToString(), dr[9].ToString(), dr[10].ToString(), dr[11].ToString(), dr[12].ToString(), dr[13].ToString(), dr[14].ToString());

                    return(enviarCorreo(enOb)); //Se envian los campos de la tabla en un objeto
                }
                return("Todos los correos han sido enviados");
            }
            catch (Exception e)
            {
                return("Error en arhivo logicaCorreo metodo DatosTabla: " + e.Message);
            }
        }//Fin getDatosTabla
Пример #2
0
        }//Fin getDatosTabla

        private string enviarCorreo(entidadCorreo pOb) //parametro viene de la funcion getDatosTabla
        {
            // Contraseña adquirida desde el archivo app.config
            string correo      = ConfigurationManager.AppSettings["mail"];
            string contrasenna = ConfigurationManager.AppSettings["mailPass"];

            // Se crea mail
            System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
            // Se define ruta de origen
            msg.From = new System.Net.Mail.MailAddress(correo);
            // Se agrega el asunto
            msg.Subject = pOb.Asunto;
            // Tipo de codificación
            msg.SubjectEncoding = System.Text.Encoding.UTF8;

            //Ruta de archivo adjunto (Si lo lleva)
            string PathFile = pOb.RutaAdjunto;

            if (PathFile.Contains(" ") == false && "".Equals(PathFile) == false)
            {
                //Agrego el archivo que puse en la ruta anterior "PathFile", y su tipo.
                Attachment Data = new Attachment(PathFile, MediaTypeNames.Application.Zip);

                //Obtengo las propiedades del archivo.
                ContentDisposition disposition = Data.ContentDisposition;
                disposition.CreationDate     = System.IO.File.GetCreationTime(PathFile);
                disposition.ModificationDate = System.IO.File.GetLastWriteTime(PathFile);
                disposition.ReadDate         = System.IO.File.GetLastAccessTime(PathFile);

                //Agrego el archivo al mensaje
                msg.Attachments.Add(Data);
            }

            string correosDestino = pOb.Destinatario;

            string[] listaCorreosDestino = correosDestino.Split(';');
            // Se recorren los destinatarios para agregarlos
            foreach (string destinatario in listaCorreosDestino)
            {
                // se agregan destinatarios
                msg.To.Add(destinatario);
            }

            string correosCC = pOb.Cc;

            if (correosCC != "")
            {
                string[] listaCorreosCC = correosCC.Split(';');
                // Se recorren los cc para agregarlos
                foreach (string destinos in listaCorreosCC)
                {
                    // Se agrega destinatarios
                    msg.CC.Add(destinos);
                }
            }

            msg.Bcc.Add(pOb.Remitente);
            //Se crea string que contiene el cuerpo del correo
            StringBuilder contenido = new StringBuilder();

            contenido.AppendLine("Remitente: " + pOb.Remitente + "<br>");
            contenido.AppendLine("<br>");
            contenido.AppendLine(pOb.Mensaje + "<br>");
            contenido.AppendLine("<br>");
            contenido.AppendLine("Ruta archivo: " + pOb.RutaAdjunto + "<br>");
            contenido.AppendLine("<br>");
            contenido.AppendLine("Gestor: " + pOb.Gestor);
            //Se envia el string creado como cuerpo del correo
            msg.Body = contenido.ToString();
            // Tipo de codificación del mensaje
            msg.BodyEncoding = System.Text.Encoding.UTF8;
            // Se especifica que va a ser interpretado como HTML
            msg.IsBodyHtml = true;
            //Creo objeto cliente (Por donde se va a enviar el correo)
            System.Net.Mail.SmtpClient cliente = new System.Net.Mail.SmtpClient();
            //credenciales de la cuenta que enviara los correos
            cliente.Credentials = new System.Net.NetworkCredential(correo, contrasenna);
            // Se especifica el puerto
            cliente.Port = 587;
            // sertificado de seguridad
            cliente.EnableSsl = true;
            // Se identifica el cliente
            cliente.Host = "smtp.office365.com";

            try
            {
                //se envia el correo
                cliente.Send(msg);
                //Referencio clase consulta
                gestion gn = new gestion();
                //Clase que cambia estado de la tabla
                return(gn.setEstadoFecha(pOb.Anno, pOb.Consecutivo));
            }
            catch (Exception)
            {
                throw;
            }
        }//enviarCorreo