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); }
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); }