Beispiel #1
0
        public static bool SendContact(string name, string email, string message)
        {
            try
            {
                long enterpriseId = Convert.ToInt64(cWebCrypto.Decrypt(HttpContext.Current.Request.QueryString["ac"]));
                _context = cDataContextFactory.GetDataContext();
                ACAD_ACADEMIAS ac = _context.ACAD_ACADEMIAS
                                    .Where(x => x.CD_ACADEMIA == enterpriseId).FirstOrDefault();
                if (!string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(email) && !string.IsNullOrEmpty(message))
                {
                    cEmail cemail = new cEmail()
                    {
                        UrlBase        = ac.TX_URL_BASE,
                        Url            = ac.TX_URL,
                        ServerSmtp     = ac.TX_SMTP,
                        PortSmtp       = ac.TX_SMTP_PORTA,
                        UserSmtp       = ac.TX_EMAIL,
                        PasswordSmtp   = ac.TX_SENHA_EMAIL,
                        NameTo         = ac.NM_ACADEMIA,
                        EmailTo        = ac.TX_EMAIL,
                        NameFrom       = name,
                        EmailFrom      = ac.TX_EMAIL,
                        NameReply      = name,
                        EmailReply     = email,
                        ContactMessage = message
                    };

                    if (SendEmail(cemail, cEnum.TypeFile.EmailContact))
                    {
                        return(true);
                    }
                    ;
                }
            }
            catch
            {
            }
            return(false);
        }
Beispiel #2
0
        public static bool SendEmail(cEmail cEmail, cEnum.TypeFile emailType)
        {
            cEmailMessage emailMessage = new cEmailMessage();
            long          enterpriseId = Convert.ToInt64(cWebCrypto.Decrypt(HttpContext.Current.Request.QueryString["ac"]));

            try
            {
                string body = "";
                if (emailType == cEnum.TypeFile.EmailForgotPassword)
                {
                    string bodyTemplate = GetTemplate(emailType, cEmail.UrlBase + "assets/email/");
                    body           = bodyTemplate.Replace("<!--@LINKLOGO@-->", cEmail.Url);
                    body           = body.Replace("<!--@LOGO@-->", cEmail.UrlBase + "assets/" + enterpriseId.ToString() + "/logo.png ");
                    body           = body.Replace("<!--@USER@-->", cEmail.NameTo);
                    body           = body.Replace("<!--@EMAIL@-->", cEmail.EmailTo);
                    body           = body.Replace("<!--@PASSWORD@-->", cEmail.ForgotPassword);
                    cEmail.Subject = "Solicitação de Senha";
                    cEmail.Message = body;
                }
                else if (emailType == cEnum.TypeFile.EmailContact)
                {
                    string bodyTemplate = GetTemplate(emailType, cEmail.UrlBase + "assets/email/");
                    body           = bodyTemplate.Replace("<!--@LINKLOGO@-->", cEmail.Url);
                    body           = body.Replace("<!--@LOGO@-->", cEmail.UrlBase + "assets/" + enterpriseId.ToString() + "/logo.png ");
                    body           = body.Replace("<!--@NAME@-->", cEmail.NameReply);
                    body           = body.Replace("<!--@EMAIL@-->", cEmail.EmailReply);
                    body           = body.Replace("<!--@MESSAGE@-->", cEmail.ContactMessage);
                    cEmail.Subject = "Contato";
                    cEmail.Message = body;
                }

                emailMessage.SendEmail(cEmail);
                return(true);
            }
            catch
            {
            }
            return(false);
        }
Beispiel #3
0
        public static bool Forgot(cEmail cEmail)
        {
            try
            {
                long enterpriseId = Convert.ToInt64(cWebCrypto.Decrypt(HttpContext.Current.Request.QueryString["ac"]));
                _context = cDataContextFactory.GetDataContext();
                ACAD_USUARIOS user = _context.ACAD_USUARIOS.Include("ACAD_ACADEMIAS")
                                     .Where(x => x.CD_ACADEMIA == enterpriseId &&
                                            x.TX_EMAIL == cEmail.EmailTo &&
                                            x.FL_ATIVO == true).FirstOrDefault();

                if (user != null)
                {
                    cEmail.UrlBase        = user.ACAD_ACADEMIAS.TX_URL_BASE;
                    cEmail.Url            = user.ACAD_ACADEMIAS.TX_URL;
                    cEmail.ForgotPassword = user.TX_SENHA;
                    cEmail.ServerSmtp     = user.ACAD_ACADEMIAS.TX_SMTP;
                    cEmail.PortSmtp       = user.ACAD_ACADEMIAS.TX_SMTP_PORTA;
                    cEmail.UserSmtp       = user.ACAD_ACADEMIAS.TX_EMAIL;
                    cEmail.PasswordSmtp   = user.ACAD_ACADEMIAS.TX_SENHA_EMAIL;
                    cEmail.NameTo         = user.NM_USUARIO;
                    cEmail.EmailTo        = user.TX_EMAIL;
                    cEmail.NameFrom       = user.ACAD_ACADEMIAS.NM_ACADEMIA;
                    cEmail.EmailFrom      = user.ACAD_ACADEMIAS.TX_EMAIL;
                    if (SendEmail(cEmail, cEnum.TypeFile.EmailForgotPassword))
                    {
                        return(true);
                    }
                    ;
                }
            }
            catch
            {
            }
            return(false);
        }
        // Email Sending event
        public bool Email_Sending(ref cEmail Email, Hashtable Args)
        {
            //HttpContext.Current.Response.Write(Email.AsString());
            //HttpContext.Current.Response.End();

            return true;
        }
Beispiel #5
0
        static void Main(string[] args)
        {
#if DEBUG
            pDebug = true;
#else
            pDebug = false;
#endif
            string _stage  = "Unknown Error";
            string _myName = System.Reflection.Assembly.GetCallingAssembly().GetName().Name;

            try
            {
                Console.WriteLine($"----==== Starting [{_myName}] at {System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")} ====----");

                //
                _stage = "Checking OS";
                if (cMiscTools.RunningOS == "Other")
                {
                    throw new Exception("OS not supported!");
                }

                // If the settings file exists, the params will be loaded from it
                _stage = "Loading settings file";
                Console.Write("> Loading settings file... ");
                string[] _lines = File.ReadAllLines((cMiscTools.RunningOS == "Windows" ? Directory.GetCurrentDirectory().Substring(0, 3) : $"/media/bin/{_myName}/") + $"C# Apps Settings/{_myName}.settings", Encoding.Unicode);

                //
                _stage = "Creating Parameters object";
                cParameters _params = new cParameters();

                //
                _stage = "Getting settings from file";
                _params.LoadParameters(_lines);

                //
                _stage = "Getting settings from args";
                Console.Write($"OK!\n> Parameters: {(args.Length!=0?String.Join(" ", args):"NONE")}\n> Getting settings from args... ");
                _params.LoadParameters(args);

                //
                _stage = "Checking settings";
                Console.WriteLine("OK!");
                Console.Write("> Checking settings... ");
                if (String.IsNullOrEmpty(_params.DBServer))
                {
                    throw new Exception("DB server is mandatory: DB_SERVER=<ServerAddress>");
                }
                if (String.IsNullOrEmpty(_params.DBUser))
                {
                    throw new Exception("DB user is mandatory: DB_USER=<UserCode>");
                }
                if (String.IsNullOrEmpty(_params.DBPassword))
                {
                    throw new Exception("DB password is mandatory: DB_PASSWORD=<Password>");
                }
                if (String.IsNullOrEmpty(_params.DBDataBase))
                {
                    throw new Exception("Database is mandatory: DB_DATABASE=<Database>");
                }
                Console.WriteLine("OK!");

                //
                _stage = "Creating connection objects";
                cConnDetails _connDetailsDB   = new cConnDetails(_params.DBServer, _params.DBUser, _params.DBPassword, _params.DBDataBase);
                cConnDetails _connDetailsMail = new cConnDetails(_params.MailServer, _params.MailUser, _params.MailPassword);

                //
                _stage = $"Connecting to {_connDetailsDB.Server}";
                cDataAccess _da = new cDataAccess(_connDetailsDB);
                _da.Connect();

                //
                _stage = "Getting alarms list";
                Recordset _rs = new Recordset("Select Codigo,BD,Tabla,Campo_alarma,Nombre_idreg,idreg_valor,asunto_email,emails_aviso,condicion_alarma,campos_select,flagged=dbo.checkflag(flags,'FLAGGED'),server=isnull(server,''),FechaColumn=dbo.checkflag(flags,'XFEC2FECHA')  from cab_alarmas where dbo.checkFlag(flags,'ACTIVE')=1 and codigo='ALARMTEST'", _da);
                _rs.Open();
                //Dictionary<int, Dictionary<string, string>> _alarms = _rs.ToDictionary();

                //
                string p;
                _stage = "Looping through alarms";

                while (!_rs.EOF)
                {
                    using (cAlarm _alarm = new cAlarm(_da, _rs["Codigo"].ToString(), _rs["BD"].ToString(), _rs["Tabla"].ToString(), _rs["Campo_alarma"].ToString(), _rs["Nombre_idreg"].ToString(), Convert.ToInt32(_rs["idreg_valor"]), _rs["asunto_email"].ToString(), _rs["emails_aviso"].ToString(), _rs["condicion_alarma"].ToString(), _rs["campos_select"].ToString(), Convert.ToInt32(_rs["flagged"]) == 1, _rs["server"].ToString(), Convert.ToInt32(_rs["FechaColumn"]) == 1))
                    {
                        try
                        {
                            //
                            _stage = $"Executing alarm {_alarm.Code}";
                            Console.Write($"> Executing alarm {_alarm.Code}...");
                            _alarm.Process();
                            Console.Write($" {(_alarm.Error ? "ERROR" : "OK")}! Sending {(_alarm.Error ? "error " : "")}email...");

                            //
                            if (_alarm.Triggered || _alarm.Error)
                            {
                                _stage = $"Sending {(_alarm.Error ? "error " : "")} email";
                                using (cEmail _email = new cEmail(_connDetailsMail, _alarm.Error ? _params.MailErrorTo : (!String.IsNullOrEmpty(_params.MailTo) ? _params.MailTo : _alarm.EmailList), $"ALARM: {_alarm.EmailSubject}", _alarm.Contents, error: _alarm.Error))
                                {
                                    if (_alarm.Error)
                                    {
                                        _email.Recipients = _params.MailErrorTo;
                                    }

                                    _email.Send();
                                }
                                Console.WriteLine(" OK!");
                            }
                            else
                            {
                                Console.WriteLine(" Not triggered.");
                            }
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                        }
                    }
                    _rs.MoveNext();
                }

                //
                _stage = "Disconnecting from DB server";
                //_dbt.Disconnect();
            }
            catch (Exception ex)
            {
                Console.WriteLine($"[Main#{_stage}] {ex.Message}");
                return;
            }


            Console.WriteLine($"----==== Ending [{_myName}] at {System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")} ====----");
        }