コード例 #1
0
ファイル: MainSettings.cs プロジェクト: perezgradosj/ADE
        public MailObject SP_ObtieneMailConfig()
        {
            MailObject    MO        = new MailObject();
            List <string> Documents = new List <string>();

            try
            {
                using (SqlConnection con = new SqlConnection(BDCon))
                {
                    using (SqlCommand cmd = new SqlCommand("[Fact].[c]", con))
                    {
                        SqlDataReader dr;
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.AddWithValue("@RucEmpresa", "");
                        con.Open();
                        dr = cmd.ExecuteReader();
                        if (dr.Read())
                        {
                            MO.RUC       = dr[0].ToString().Trim();
                            MO.EMAIL     = dr[1].ToString().Trim();
                            MO.PASSWORD  = dr[2].ToString().Trim();
                            MO.DOMAIN    = dr[3].ToString().Trim();
                            MO.IP        = dr[4].ToString().Trim();
                            MO.PORT      = dr[5].ToString().Trim();
                            MO.USESSL    = dr[6].ToString().Trim();
                            MO.MAILNOTIF = dr[7].ToString().Trim();
                            con.Close();
                            return(MO);
                        }
                        con.Close();
                    }
                }
            }
            catch (SqlException ex)
            {
            }
            return(MO);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: perezgradosj/ADE
        static void Main(string[] args)
        {
            string html = "";

            MS.validateConnectionString();
            if (args.Length == 0)
            {
                ServiceName = "";
            }
            else
            {
                ServiceName = args[0];
            }

            Log LOG = new Log(MS);

            LOG.Builder("===============================================");
            LOG.Builder("PROCESO DE NOTIFICACIÓN DE ERROR EN SERVICIOS");
            LOG.Builder("Obteniendo correos de destino de Base de Datos");

            Encrypter EC = new Encrypter();

            try
            {
                MailObject MO = new MailObject();
                MO = MS.SP_ObtieneMailConfig();

                if (MO.EMAIL == "" || MO.PASSWORD == "" || MO.DOMAIN == "" || MO.PORT == "")
                {
                    LOG.Builder("No se ha configurado correctamente el correo de envío."); goto Final;
                }
                if (MO.MAILNOTIF == "")
                {
                    LOG.Builder("No se han configurado los correos de destino para la notificación."); goto Final;
                }

                MailMessage mail       = new MailMessage();
                SmtpClient  SmtpServer = new SmtpClient(MO.DOMAIN);

                mail.From = new MailAddress(MO.EMAIL);
                //mail.To.Add(MO.MAILNOTIF);
                LOG.Builder("Se enviará a los siguientes correos: " + MO.MAILNOTIF);

                foreach (var address in MO.MAILNOTIF.Split(new[] { ";" }, StringSplitOptions.RemoveEmptyEntries))
                {
                    mail.To.Add(address);
                }

                mail.Subject = "[SLIN-ADE] Servicio Detenido el " + DateTime.Now.ToString("dd-MM-yyyy");

                html = "Se ha detenido el Servicio " + ServiceName + " luego de 2 intentos, en caso siga teniendo problemas por favor comunicar a [email protected]";

                mail.Body       = html;
                mail.IsBodyHtml = false;
                SmtpServer.Port = int.Parse(MO.PORT);

                SmtpServer.Credentials = new System.Net.NetworkCredential(MO.EMAIL, EC.DecryptKey(MO.PASSWORD));

                if (MO.USESSL == "1")
                {
                    SmtpServer.EnableSsl = true;
                }

                SmtpServer.Send(mail);
            }
            catch (SmtpException e)
            {
                LOG.Builder(e.Message + " - " + e.InnerException.Message);
            }
            catch (Exception e)
            {
                LOG.Builder("Error al enviar Correo: " + e.Message);
            }

Final:

            LOG.Builder("===============================================");
            LOG.RegistraLog("");
        }