public void Send_Test_Email() { var stmpServerOnline = Mail.isMailServerOnline(sendEmails.Smtp_Server); Assert.IsTrue(stmpServerOnline); var sendResult = new SendEmails().send(to, subject, message); Assert.IsTrue(sendResult); }
public static Thread email_NewUser_Welcome(this TMUser tmUser) { var email = tmUser.EMail; var userName = tmUser.UserName; var serverUrl = SendEmails.TM_Server_URL; if (email.notValid()) { "[SendNewUserEmails] can't sent email because email value is not set".error(); } else if (userName.notValid()) { "[SendNewUserEmails] can't sent email because userName value is not set".error(); } else if (serverUrl.notValid()) { "[SendNewUserEmails] can't sent email because server Url value is not set".error(); } else { var subject = TMConsts.EMAIL_SUBJECT_NEW_USER_WELCOME; var fullName = tmUser.fullName(); var userMessage = TMConsts.EMAIL_BODY_NEW_USER_WELCOME.format(fullName, tmUser.UserName, serverUrl); return(SendEmails.SendEmailToEmail(email, subject, userMessage)); } return(null); }
public void SetUp() { var secretData = tmXmlDatabase.UserData.SecretData; sendEmails = new SendEmails(); Assert.IsNotNull(sendEmails); Assert.IsNull(sendEmails.Smtp_Password , "In UnitTests SendEmails SMTP password should not be set"); Assert.IsTrue(sendEmails.serverNotConfigured() , "In UnitTests serverNotConfigured should be in offline mode"); }
public void SetUp() { var secretData = tmXmlDatabase.UserData.SecretData; sendEmails = new SendEmails(secretData.SMTP_Server, secretData.SMTP_UserName, secretData.SMTP_Password); Assert.IsNotNull(sendEmails); if(sendEmails.Smtp_Password.notValid()) Assert.Ignore("SmtpServer_Password is not set, so ignoring test"); if(tmXmlDatabase.ServerOnline.isFalse()) Assert.Ignore("We are offline, so ignoring test"); }
public Test_SendEmail_SMTP() { tmQAConfig = TM_QA_Config.Current; if (tmQAConfig.isNull()) Assert.Ignore("TM_QA_ConfigFile.Current was null (so no SMTP config values"); userData.SecretData.SMTP_Server = tmQAConfig.SMTP_Server; userData.SecretData.SMTP_UserName = tmQAConfig.SMTP_UserName; userData.SecretData.SMTP_Password = tmQAConfig.SMTP_Password; tmConfig.TMSecurity.Default_AdminEmail = tmQAConfig.Default_AdminEmail; sendEmails = new SendEmails(); }
public static bool sendPasswordReminder(this string email) { var tmUser = email.tmUser_FromEmail(); if (tmUser.isNull()) { return(false); } var resetToken = email.passwordResetToken_getHash(); if (resetToken != Guid.Empty) { return(SendEmails.SendPasswordReminderToUser(tmUser, resetToken)); } return(false); }
public TM_Engine performHealthCheck() { // these are a catastrofic errors and TM cannot recover from it if (TM_Xml_Database.Current.isNull()) // this is a catastrofic even and TM cannot recover from it { "[Fatal Error] TM_Xml_Database.Current was null".error(); HttpContextFactory.Server.Transfer(TMConsts.PATH_HTML_PAGE_UNAVAILABLE); } else if (TMConfig.Current.isNull()) { "[Fatal Error] TMConfig.Current was null".error(); HttpContextFactory.Server.Transfer(TMConsts.PATH_HTML_PAGE_UNAVAILABLE); } SendEmails.mapTMServerUrl(); // find a better place to put these one-off requests return(this); }
public static ResetPassword_Result sendPasswordReminder_Response(this string email) { var tmConfig = TMConfig.Current; var response = new ResetPassword_Result(); var tmUser = email.tmUser_FromEmail(); //Email does not exist if (tmUser.isNull()) { response.PasswordReseted = false; response.Message = TMConfig.Current.showDetailedErrorMessages() ? tmConfig.TMErrorMessages.Email_Does_Not_Exist_ErrorMessage : tmConfig.TMErrorMessages.General_PasswordReset_Error_Message; return(response); } //Account Expired if (tmUser.account_Expired()) { response.PasswordReseted = false; response.Message = TMConfig.Current.showDetailedErrorMessages() ? tmConfig.TMErrorMessages.AccountExpiredErrorMessage : tmConfig.TMErrorMessages.General_PasswordReset_Error_Message; return(response); } //Account Disabled if (!tmUser.account_Enabled()) { response.PasswordReseted = false; response.Message = TMConfig.Current.showDetailedErrorMessages() ? tmConfig.TMErrorMessages.AccountDisabledErrorMessage : tmConfig.TMErrorMessages.General_PasswordReset_Error_Message; return(response); } var resetToken = email.passwordResetToken_getHash(); if (resetToken != Guid.Empty) { var result = SendEmails.SendPasswordReminderToUser(tmUser, resetToken); response.PasswordReseted = result; response.Message = string.Empty; return(response); } return(new ResetPassword_Result()); }
public static bool logout(this TM_UserData userData, TMUser tmUser, Guid sessionId) { try { if (tmUser.notNull() && sessionId.validSession()) { tmUser.logUserActivity("User Logout", tmUser.UserName); tmUser.SecretData.SessionID = Guid.Empty; //userData.ActiveSessions.Remove(sessionId); SendEmails.SendEmailAboutUserToTM("Logged Out", tmUser); return(true); } } catch (Exception ex) { ex.log("[TM_UserData] invalidateSession"); } return(false); }
public static int newUser(this TM_UserData userData, string username, string password, string email, string firstname, string lastname, string note, string title, string company, string country, string state, List <UserTag> userTags, int groupId) { var userId = Math.Abs(Guid.NewGuid().hash()); "Creating new user: {0} with id {1}".debug(username, userId); if (groupId < 1) //set default user type { groupId = 2; //by default new users are of type 2 (i.e. Reader) } else { UserRole.ManageUsers.demand(); // only users with UserRole.ManageUsers should be able to create non-default users } var tmUser = new TMUser { UserID = userId, UserName = Encoder.XmlEncode(username), FirstName = Encoder.XmlEncode(firstname), LastName = Encoder.XmlEncode(lastname), Company = Encoder.XmlEncode(company), Country = Encoder.XmlEncode(country), State = Encoder.XmlEncode(state), GroupID = groupId, Title = Encoder.XmlEncode(title), EMail = Encoder.XmlEncode(email) ?? "", UserTags = userTags }; tmUser.SecretData.PasswordHash = tmUser.createPasswordHash(password); userData.TMUsers.Add(tmUser); if (TMConfig.Current.windowsAuth().isFalse()) { SendEmails.SendNewUserEmails("New user created: {0}".format(tmUser.UserName), tmUser); } tmUser.logUserActivity("New User", ""); tmUser.saveTmUser(); return(userId); }
public static int newUser(this TM_UserData userData, string username, string password, string email, string firstname, string lastname, string note, string title, string company, string country, string state, int groupId) { var userId = Guid.NewGuid().hash(); //10000000.random();//10.randomNumbers().toInt(); if (userId < 0) // find a .net that does this (maybe called 'invert') { userId = -userId; } "Creating new user: {0} with id {1}".debug(username, userId); if (groupId < 1) //set default user type { groupId = 2; //by default new users are of type 2 (i.e. Reader) } else { UserRole.ManageUsers.demand(); // only users with UserRole.ManageUsers should be able to create non-default users } var tmUser = new TMUser { UserID = userId, UserName = Encoder.XmlEncode(username), FirstName = Encoder.XmlEncode(firstname), LastName = Encoder.XmlEncode(lastname), Company = Encoder.XmlEncode(company), Country = Encoder.XmlEncode(country), State = Encoder.XmlEncode(state), GroupID = groupId, Title = Encoder.XmlEncode(title), EMail = Encoder.XmlEncode(email) ?? "", }; tmUser.SecretData.PasswordHash = tmUser.createPasswordHash(password); userData.TMUsers.Add(tmUser); //save it SendEmails.SendNewUserEmails("New user created: {0}".format(tmUser.UserName), tmUser); tmUser.saveTmUser(); return(userId); }
public static Guid login(this TM_UserData userData, TMUser tmUser, Guid sessionId) { try { if (tmUser.notNull()) // there is a valid user { if (sessionId != Guid.Empty) // there was a valid session set { tmUser.Stats.LastLogin = DateTime.Now; tmUser.Stats.LoginOk++; tmUser.SecretData.SessionID = sessionId; tmUser.logUserActivity("User Login", tmUser.UserName); // will save the user SendEmails.SendEmailAboutUserToTM("Logged In", tmUser); return(sessionId); } } } catch (Exception ex) { ex.log("[TM_UserData][login]"); } return(Guid.Empty); }
public static bool serverNotConfigured(this SendEmails sendEmails) { return(sendEmails.Smtp_Server.notValid() || sendEmails.Smtp_UserName.notValid() || sendEmails.Smtp_Password.notValid()); }
public void SetUp() { SendEmails.Disable_EmailEngine = false; // SendEmails.Send_Emails_As_Sync = true; sendEmails = new SendEmails(); Assert.IsNotNull(sendEmails); Assert.IsEmpty (sendEmails.Smtp_Password , "In UnitTests SendEmails SMTP password should not be set"); Assert.IsTrue (sendEmails.serverNotConfigured() , "In UnitTests serverNotConfigured should be in offline mode"); }