Exemple #1
0
        public ActionResult Step3()
        {
            if (Session[SessionMailInfoKey] != null)
            {
                ViewData[ViewDataKeys.GlobalMessages.Success] = "Successfully connected to mail server";
            }

            SQLInstallViewModel sqlInfo = Session[SessionSqlInfoKey] as SQLInstallViewModel;

            if (sqlInfo != null)
            {
                Settings.DatabaseServer        = sqlInfo.DatabaseServer;
                Settings.DatabaseName          = sqlInfo.DatabaseName;
                Settings.UseIntegratedSecurity = sqlInfo.UseIntegratedSecurity;
                if (!sqlInfo.UseIntegratedSecurity)
                {
                    Settings.DatabaseLogin    = sqlInfo.DatabaseLogin;
                    Settings.DatabasePassword = sqlInfo.DatabasePassword;
                }

                string connectionString =
                    Settings.ConnectionStringTemplate
                    .Replace("{dbserver}", sqlInfo.DatabaseServer)
                    .Replace("{integratedsecurity}", sqlInfo.UseIntegratedSecurity.ToString())
                    .Replace("{dbname}", sqlInfo.DatabaseName)
                    .Replace("{dblogin}", sqlInfo.DatabaseLogin)
                    .Replace("{dbpassword}", sqlInfo.DatabasePassword);

                string     entityConnectionString = Settings.EntityConnectionStringTemplate.Replace("{CONNECTIONSTRING}", connectionString);
                mbEntities dataContext            = new mbEntities(entityConnectionString);

                Config automatedEmail = dataContext.Configs.First(item => item.Name.Equals("AutomatedFromEmail"));
                automatedEmail.Value = "no-reply@" + Request.Url.Host;

                Config boardUrl = dataContext.Configs.First(item => item.Name.Equals("BoardURL"));
                boardUrl.Value = Request.Url.Host;

                dataContext.SaveChanges();
            }

            MailInstallViewModel mailInfo = Session[SessionMailInfoKey] as MailInstallViewModel;

            if (mailInfo != null)
            {
                Settings.SmtpServer = mailInfo.MailServerAddress;
                Settings.SmtpPort   = mailInfo.PortNumber;
                Settings.SmtpUseDefaultCredentials = mailInfo.MailUseDefaultCredentials;
                if (!mailInfo.MailUseDefaultCredentials)
                {
                    Settings.SmtpLogin    = mailInfo.MailLogin;
                    Settings.SmtpPassword = mailInfo.MailPassword;
                }
            }

            ViewData["StepNumber"] = 3;
            return(View());
        }
Exemple #2
0
        public ActionResult Step2()
        {
            ViewData["StepNumber"] = 2;

            if (Session[SessionSqlInfoKey] != null)
            {
                ViewData[ViewDataKeys.GlobalMessages.Success] = "Successfully connected to database and created tables";
            }

            MailInstallViewModel model = new MailInstallViewModel
            {
                MailServerAddress         = "mail." + Request.Url.Host,
                MailUseDefaultCredentials = false,
                PortNumber = 25
            };

            return(View(model));
        }
Exemple #3
0
        public ActionResult Step2(MailInstallViewModel info)
        {
            ViewData["StepNumber"] = 2;

            if (info.MailUseDefaultCredentials)
            {
                ModelState.Remove("MailLogin");
                ModelState.Remove("MailPassword");
            }

            if (!ModelState.IsValid)
            {
                return(View(info));
            }

            SmtpClient smtpClient = new SmtpClient();

            smtpClient.Host = info.MailServerAddress;
            smtpClient.Port = info.PortNumber;
            smtpClient.UseDefaultCredentials = info.MailUseDefaultCredentials;
            if (!info.MailUseDefaultCredentials)
            {
                smtpClient.Credentials = new NetworkCredential(info.MailLogin, info.MailPassword);
            }

            try
            {
                smtpClient.Send("no-reply@" + Request.Url.Host, "test@" + smtpClient.Host, "", "");
            }
            catch (Exception ex)
            {
                ViewData[ViewDataKeys.GlobalMessages.Notice] = "Error connecting to SMTP server, a " + ex.GetType().ToString() + " exception was raised";
                ViewData[ViewDataKeys.GlobalMessages.Error]  = ex.Message;
                return(View(info));
            }

            Session[SessionMailInfoKey] = info;
            return(RedirectToAction("Step3"));
        }