Ejemplo n.º 1
0
        public DTOSMTPSetting SMTPSettings()
        {
            // Create DTOSMTPSetting
            DTOSMTPSetting objDTOSMTPSetting = new DTOSMTPSetting();

            objDTOSMTPSetting.smtpValid  = true;
            objDTOSMTPSetting.smtpStatus = "";

            // Must be a Super Administrator to call this Method
            if (!UtilitySecurity.IsSuperUser(this.User.Identity.Name, GetConnectionString()))
            {
                objDTOSMTPSetting.smtpValid  = false;
                objDTOSMTPSetting.smtpStatus = "";
                return(objDTOSMTPSetting);
            }

            // Get Settings
            GeneralSettings objGeneralSettings = new GeneralSettings(GetConnectionString());

            // Set Settings
            objDTOSMTPSetting.smtpServer         = objGeneralSettings.SMTPServer;
            objDTOSMTPSetting.smtpAuthentication = objGeneralSettings.SMTPAuthendication;
            objDTOSMTPSetting.smtpFromEmail      = objGeneralSettings.SMTPFromEmail;
            objDTOSMTPSetting.smtpSecure         = (objGeneralSettings.SMTPSecure) ? "True" : "False";
            objDTOSMTPSetting.smtpUserName       = objGeneralSettings.SMTPUserName;
            objDTOSMTPSetting.smtpPassword       = Constants.NONPassword; // Never return the actual password to the client

            return(objDTOSMTPSetting);
        }
Ejemplo n.º 2
0
        public DTOSMTPSetting SMTPSetting([FromBody] DTOSMTPSetting SMTPSetting)
        {
            DTOSMTPSetting objDTOSMTPSetting = new DTOSMTPSetting();

            objDTOSMTPSetting.smtpValid  = true;
            objDTOSMTPSetting.smtpStatus = "Settings Updated";

            // Must be a Super Administrator to call this Method
            if (!UtilitySecurity.IsSuperUser(this.User.Identity.Name, GetConnectionString()))
            {
                objDTOSMTPSetting.smtpValid  = false;
                objDTOSMTPSetting.smtpStatus = "";
                return(objDTOSMTPSetting);
            }

            // Get Update Type (Save/Test)
            string strUpdateType = SMTPSetting.updateType;

            // Get GeneralSettings
            GeneralSettings objGeneralSettings = new GeneralSettings(GetConnectionString());

            #region Validation ****************************
            if ((SMTPSetting.smtpServer == null) || (SMTPSetting.smtpServer.Trim().Length < 1))
            {
                objDTOSMTPSetting.smtpValid  = false;
                objDTOSMTPSetting.smtpStatus = "SMTP Server is not valid";
                return(objDTOSMTPSetting);
            }

            if ((SMTPSetting.smtpAuthentication == null) || (SMTPSetting.smtpAuthentication.Trim().Length < 1))
            {
                objDTOSMTPSetting.smtpValid  = false;
                objDTOSMTPSetting.smtpStatus = "SMTP Authentication is not valid";
                return(objDTOSMTPSetting);
            }

            if ((SMTPSetting.smtpFromEmail == null) || (SMTPSetting.smtpFromEmail.Trim().Length < 1))
            {
                objDTOSMTPSetting.smtpValid  = false;
                objDTOSMTPSetting.smtpStatus = "From Email is not valid";
                return(objDTOSMTPSetting);
            }

            EmailValidation objEmailValidation = new EmailValidation();
            if (!objEmailValidation.IsValidEmail(SMTPSetting.smtpFromEmail))
            {
                objDTOSMTPSetting.smtpValid  = false;
                objDTOSMTPSetting.smtpStatus = "From Email is not a valid email";
                return(objDTOSMTPSetting);
            }
            #endregion

            // Update ****************************

            try
            {
                objGeneralSettings.UpdateSMTPServer(GetConnectionString(), SMTPSetting.smtpServer);
                objGeneralSettings.UpdateSMTPAuthentication(GetConnectionString(), SMTPSetting.smtpAuthentication);
                objGeneralSettings.UpdateSMTPFromEmail(GetConnectionString(), SMTPSetting.smtpFromEmail);
                objGeneralSettings.UpdateSMTPSecure(GetConnectionString(), (SMTPSetting.smtpSecure == "True") ? true: false);
                objGeneralSettings.UpdateSMTPUserName(GetConnectionString(), SMTPSetting.smtpUserName);

                // Only set Password if it has been updated
                // The default non-password is
                if (SMTPSetting.smtpPassword.Replace(Constants.NONPassword, "") != "")
                {
                    objGeneralSettings.UpdateSMTPPassword(GetConnectionString(), SMTPSetting.smtpPassword);
                }
            }
            catch (Exception ex)
            {
                objDTOSMTPSetting.smtpValid  = false;
                objDTOSMTPSetting.smtpStatus = ex.GetBaseException().Message;
                return(objDTOSMTPSetting);
            }

            // Test Email  ****************************
            if (strUpdateType == "Test")
            {
                // Send Test Email
                objDTOSMTPSetting.smtpStatus = Email.SendMail(
                    false,
                    GetConnectionString(),
                    SMTPSetting.smtpFromEmail,
                    "ADefHelpDesk Administrator",
                    "", "",
                    SMTPSetting.smtpFromEmail,
                    "SMTP Test",
                    "ADefHelpDesk SMTP Test Email",
                    $"This is a ADefHelpDesk SMTP Test Email from: {this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}");

                if (objDTOSMTPSetting.smtpStatus != "")
                {
                    // There was some sort of error - return it
                    objDTOSMTPSetting.smtpValid = false;
                    return(objDTOSMTPSetting);
                }
                else
                {
                    objDTOSMTPSetting.smtpStatus = "Settings Updated - Test Email Sent";
                }
            }

            return(objDTOSMTPSetting);
        }