private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; try { string path = FileUtils.AddTrailingBackSlash(smtpFileHandler1.RelayDir); string[] envelopeList = Directory.GetFiles(path, "*" + SmtpFileHandler.EnvelopeFileExt); foreach (string env in envelopeList) { string[] envelope = File.ReadAllLines(env); if (envelope.Length < 2) { continue; } smtpRelay1.MailFrom = envelope[0]; smtpRelay1.MailToList = ExtractRelayTo(envelope); string msg = Path.ChangeExtension(env, SmtpFileHandler.MessageFileExt); using (Stream stream = File.OpenRead(msg)) { smtpRelay1.MailData.LoadFromStream(stream, ""); } smtpRelay1.Send(); File.Delete(msg); File.Delete(env); } } finally { timer1.Enabled = true; } }
private void btnStart_Click(object sender, EventArgs e) { this.watcher.EnableRaisingEvents = false; this.watcher.Path = FileUtils.AddTrailingBackSlash(edtQueueFolder.Text); this.watcher.EnableRaisingEvents = true; relay.DnsServer = edtDNS.Text; this.Text = "Mail Sending Queue - Started"; }
private void AssignSettings() { if (sFtpServer1.Active) { return; } //Server Tab sFtpServer1.Port = Convert.ToInt32(edtPort.Text); sFtpServer1.LocalBinding = edtBindingHost.Text; sFtpServer1.UseIpV6 = cbUseIPv6.Checked; sFtpServer1.RootDir = edtRootDir.Text; if (!StringUtils.IsEmpty(sFtpServer1.RootDir)) { Directory.CreateDirectory(FileUtils.AddTrailingBackSlash(sFtpServer1.RootDir)); } //Banner Tab sFtpServer1.Banner = edtBannerMessage.Text; sFtpServer1.BannerLanguage = edtBannerLanguage.Text; sFtpServer1.EnableBanner = cbEnableBanner.Checked; //Access Control Tab sFtpServer1.UserAccounts.Clear(); sFtpServer1.UserAccounts.Add(new SFtpUserAccountItem()); sFtpServer1.UserAccounts[0].UserName = edtUserName.Text; sFtpServer1.UserAccounts[0].Password = edtPassword.Text; sFtpServer1.UserAccounts[0].RootDir = edtUserRootDir.Text; if (!StringUtils.IsEmpty(sFtpServer1.UserAccounts[0].RootDir)) { Directory.CreateDirectory(FileUtils.AddTrailingBackSlash(sFtpServer1.UserAccounts[0].RootDir)); } SFtpServerPermissions permissions = SFtpServerPermissions.None; if (cbCanList.Checked) { permissions |= SFtpServerPermissions.List; } if (cbCanMakeDir.Checked) { permissions |= SFtpServerPermissions.MakeDir; } if (cbCanRemoveDir.Checked) { permissions |= SFtpServerPermissions.RemoveDir; } if (cbCanRead.Checked) { permissions |= SFtpServerPermissions.Read; } if (cbCanWrite.Checked) { permissions |= SFtpServerPermissions.Write; } if (cbCanRename.Checked) { permissions |= SFtpServerPermissions.Rename; } if (cbCanRemove.Checked) { permissions |= SFtpServerPermissions.Remove; } if (cbCanMakeLink.Checked) { permissions |= SFtpServerPermissions.MakeLink; } if (cbCanReadLink.Checked) { permissions |= SFtpServerPermissions.ReadLink; } sFtpServer1.UserAccounts[0].Permissions = permissions; //IP Blocking Tab serverGuard1.ConnectionLimit.Max = Convert.ToInt32(edtAllowedConnections.Text); serverGuard1.ConnectionLimit.Period = 60000; //1 minute serverGuard1.BlackIPList = edtBlackList.Lines; serverGuard1.WhiteIPList = edtWhiteList.Lines; serverGuard1.AllowWhiteListOnly = cbWhiteListOnly.Checked; //SSH Algorithms Tab sFtpServer1.Config.SetConfig("kex", edtKexAlgs.Text); sFtpServer1.Config.SetConfig("hostkey", edtSignatureAlgs.Text); sFtpServer1.Config.SetConfig("cipher.s2c", edtEncryptionAlgs.Text); sFtpServer1.Config.SetConfig("cipher.c2s", edtEncryptionAlgs.Text); sFtpServer1.Config.SetConfig("mac.s2c", edtDataIntegrityAlgs.Text); sFtpServer1.Config.SetConfig("mac.c2s", edtDataIntegrityAlgs.Text); //Additional Settings Tab sFtpServer1.CharSet = edtCharSet.Text; sFtpServer1.MaxReturnFiles = Convert.ToInt32(edtMaxReturnFiles.Text); sFtpServer1.BatchSize = Convert.ToInt32(edtBatchSize.Text); sFtpServer1.MaxWindowSize = Convert.ToInt32(edtMaxWindowSize.Text); }