private void SetupSmtpClient() { var config = SpeedDateConfig.GetPluginConfig <MailConfig>(); // Configure mail client _smtpClient = new SmtpClient(config.SmtpHost, config.SmtpPort) { Credentials = new NetworkCredential(config.SmtpUsername, config.SmtpPassword), EnableSsl = true }; // set the network credentials _smtpClient.SendCompleted += (sender, args) => { if (args.Error != null) { lock (_sendMailExceptions) { _sendMailExceptions.Add(args.Error); } } }; ServicePointManager.ServerCertificateValidationCallback = (s, certificate, chain, sslPolicyErrors) => true; }
public void Start(IConfigProvider configProvider) { AppUpdater.Instance.Add(this); _kernel.Load(this, configProvider, config => { Config = config; _manager.Start(); _netPeer = _manager.Connect(config.Network.Address, config.Network.Port, config.Network.Key); }); }
public void Start(IConfigProvider configProvider) { _kernel.Load(this, configProvider, config => { _config = config; AppUpdater.Instance.Add(this); if (_manager.Start(config.Network.Port)) { _logger.Info($"Listening on: {config.Network.Port}"); Started?.Invoke(); } }); }
public bool SendMail(string to, string subject, string body) { var config = SpeedDateConfig.GetPluginConfig <MailConfig>(); // Create the mail message (from, to, subject, body) var mailMessage = new MailMessage { From = new MailAddress(config.EmailFrom, config.SenderDisplayName) }; mailMessage.To.Add(to); mailMessage.Subject = subject; mailMessage.Body = body; mailMessage.IsBodyHtml = true; mailMessage.Priority = MailPriority.High; // send the mail _smtpClient.SendAsync(mailMessage, ""); return(true); }
public AuthPlugin(IServer server) : base(server) { _permissions = new List <PermissionEntry>(); _config = SpeedDateConfig.GetPluginConfig <AuthConfig>(); LoggedInUsers = new Dictionary <string, IUserExtension>(); // Set handlers Server.SetHandler((short)OpCodes.LogIn, HandleLogIn); Server.SetHandler((short)OpCodes.RegisterAccount, HandleRegister); Server.SetHandler((short)OpCodes.PasswordResetCodeRequest, HandlePasswordResetRequest); Server.SetHandler((short)OpCodes.RequestEmailConfirmCode, HandleRequestEmailConfirmCode); Server.SetHandler((short)OpCodes.ConfirmEmail, HandleEmailConfirmation); Server.SetHandler((short)OpCodes.GetLoggedInCount, HandleGetLoggedInCount); Server.SetHandler((short)OpCodes.PasswordChange, HandlePasswordChange); Server.SetHandler((short)OpCodes.GetPeerAccountInfo, HandleGetPeerAccountInfo); // AesKey handler Server.SetHandler((short)OpCodes.AesKeyRequest, HandleAesKeyRequest); Server.SetHandler((short)OpCodes.RequestPermissionLevel, HandlePermissionLevelRequest); }
public CockroachDbPlugin(IServer server) : base(server) { var config = SpeedDateConfig.GetPluginConfig <CockroachDbConfig>(); try { var connStringBuilder = new NpgsqlConnectionStringBuilder { Host = config.Host, Port = config.Port, Username = config.Username, Password = config.Password, Database = config.Database }; var connectionString = CommandLineArgs.IsProvided(CommandLineArgs.Names.DbConnectionString) ? CommandLineArgs.DbConnectionString : connStringBuilder.ConnectionString; if (config.CheckConnectionOnStartup) { using (var con = new NpgsqlConnection(connectionString)) { con.Open(); } } AuthDatabase = new AuthDbCockroachDb(connectionString); ProfilesDatabase = new ProfilesDbCockroachDb(connectionString); } catch { Logs.Error("Failed to connect to database"); throw; } }