protected override void DeleteItems(List <ListViewItem> items) { hMailServer.DNSBlackLists lists = GetDNSBlackLists(); foreach (var item in items) { lists.DeleteByDBID(Convert.ToInt32(item.Tag)); } Marshal.ReleaseComObject(lists); }
public void OnDeleteObject(object sender, EventArgs args) { if (Utility.AskDeleteItem(_title)) { hMailServer.DNSBlackLists dnsBlackLists = APICreator.DNSBlackLists; dnsBlackLists.DeleteByDBID(_id); Marshal.ReleaseComObject(dnsBlackLists); Instances.MainForm.RefreshParentNode(); } }
private hMailServer.DNSBlackLists GetDNSBlackLists() { hMailServer.Application app = APICreator.Application; hMailServer.Settings settings = app.Settings; hMailServer.AntiSpam antiSpam = settings.AntiSpam; hMailServer.DNSBlackLists dnsBlackLists = antiSpam.DNSBlackLists; Marshal.ReleaseComObject(settings); Marshal.ReleaseComObject(antiSpam); return(dnsBlackLists); }
private void DeleteEnvironment() { while (_application.Domains.Count > 0) { _application.Domains[0].Delete(); } hMailServer.WhiteListAddresses addresses = _application.Settings.AntiSpam.WhiteListAddresses; while (addresses.Count > 0) { addresses[0].Delete(); } hMailServer.Routes routes = _application.Settings.Routes; while (routes.Count > 0) { routes[0].Delete(); } hMailServer.BlockedAttachments attachments = _application.Settings.AntiVirus.BlockedAttachments; while (attachments.Count > 0) { attachments[0].Delete(); } hMailServer.DNSBlackLists blackLists = _application.Settings.AntiSpam.DNSBlackLists; while (blackLists.Count > 0) { blackLists[0].Delete(); } hMailServer.SURBLServers surblServers = _application.Settings.AntiSpam.SURBLServers; while (surblServers.Count > 0) { surblServers[0].Delete(); } hMailServer.SSLCertificates sslCertificates = _application.Settings.SSLCertificates; while (sslCertificates.Count > 0) { sslCertificates[0].Delete(); } hMailServer.IncomingRelays incomingRelays = _application.Settings.IncomingRelays; while (incomingRelays.Count > 0) { incomingRelays[0].Delete(); } }
public ucDNSBlackList(int dnsBlackListID) { InitializeComponent(); if (dnsBlackListID > 0) { hMailServer.DNSBlackLists dnsBlackLists = APICreator.DNSBlackLists; _representedObject = dnsBlackLists.get_ItemByDBID(dnsBlackListID); } DirtyChecker.SubscribeToChange(this, OnContentChanged); new TabOrderManager(this).SetTabOrder(TabOrderManager.TabScheme.AcrossFirst); checkEnabled.Checked = true; EnableDisable(); }
public bool SaveData() { bool newObject = false; if (_representedObject == null) { hMailServer.Settings settings = APICreator.Application.Settings; hMailServer.AntiSpam antiSpam = settings.AntiSpam; hMailServer.DNSBlackLists dnsBlackLists = antiSpam.DNSBlackLists; _representedObject = dnsBlackLists.Add(); newObject = true; Marshal.ReleaseComObject(settings); Marshal.ReleaseComObject(antiSpam); Marshal.ReleaseComObject(dnsBlackLists); } _representedObject.Active = checkEnabled.Checked; _representedObject.DNSHost = textDNSHost.Text; _representedObject.ExpectedResult = textExpectedResult.Text; _representedObject.RejectMessage = textRejectionMessage.Text; _representedObject.Score = textSpamScore.Number; _representedObject.Save(); // Refresh the node in the tree if the name has changed. IMainForm mainForm = Instances.MainForm; mainForm.RefreshCurrentNode(_representedObject.DNSHost); // Set the object to clean. DirtyChecker.SetClean(this); if (newObject) { SearchNodeText crit = new SearchNodeText(_representedObject.DNSHost); mainForm.SelectNode(crit); } return(true); }
public void TestDNSBlackList() { hMailServer.DNSBlackLists dnsBlackLists = SingletonProvider <Utilities> .Instance.GetApp().Settings.AntiSpam.DNSBlackLists; hMailServer.DNSBlackList dnsBlackList = dnsBlackLists.Add(); dnsBlackList.DNSHost = "zen.spamhaus.org"; dnsBlackList.RejectMessage = "srv1"; dnsBlackList.Score = 5; dnsBlackList.Active = true; dnsBlackList.Save(); dnsBlackList = dnsBlackLists.Add(); dnsBlackList.DNSHost = "bl.spamcop.net"; dnsBlackList.RejectMessage = "srv2"; dnsBlackList.Score = 5; dnsBlackList.Active = false; dnsBlackList.Save(); dnsBlackList = dnsBlackLists.Add(); dnsBlackList.DNSHost = "dnsbl.njabl.org"; dnsBlackList.RejectMessage = "srv3"; dnsBlackList.Score = 5; dnsBlackList.Active = true; dnsBlackList.Save(); hMailServer.Application application = SingletonProvider <Utilities> .Instance.GetApp(); _antiSpam.SpamMarkThreshold = 1; _antiSpam.SpamDeleteThreshold = 100; hMailServer.Account account = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test"); Utilities.DeleteCurrentDefaultLog(); SMTPClientSimulator.StaticSend(account.Address, account.Address, "Test", "TestBody"); POP3Simulator.AssertGetFirstMessageText(account.Address, "test"); string result = Utilities.ReadCurrentDefaultLog(); Assert.IsTrue(result.Contains(".zen.spamhaus.org, 0 addresses found: (none), Match: False"), result); Assert.IsTrue(result.Contains(".dnsbl.njabl.org, 0 addresses found: (none), Match: False"), result); Assert.IsFalse(result.Contains(".bl.spamcop.net, 0 addresses found:"), result); }
protected override void LoadList() { listObjects.Items.Clear(); hMailServer.DNSBlackLists dnsBlackLists = GetDNSBlackLists(); for (int i = 0; i < dnsBlackLists.Count; i++) { hMailServer.DNSBlackList dnsBlackList = dnsBlackLists[i]; ListViewItem item = listObjects.Items.Add(dnsBlackList.DNSHost); item.SubItems.Add(EnumStrings.GetYesNoString(dnsBlackList.Active)); item.Tag = dnsBlackList.ID; Marshal.ReleaseComObject(dnsBlackList); } Marshal.ReleaseComObject(dnsBlackLists); }
public void DisableSpamProtection() { hMailServer.AntiSpam antiSpam = _settings.AntiSpam; if (antiSpam.SpamMarkThreshold != 10000) { antiSpam.SpamMarkThreshold = 10000; } if (antiSpam.SpamDeleteThreshold != 10000) { antiSpam.SpamDeleteThreshold = 10000; } if (antiSpam.CheckHostInHelo != false) { antiSpam.CheckHostInHelo = false; } if (antiSpam.GreyListingEnabled != false) { antiSpam.GreyListingEnabled = false; } if (antiSpam.BypassGreylistingOnMailFromMX != false) { antiSpam.BypassGreylistingOnMailFromMX = false; } if (antiSpam.SpamAssassinEnabled != false) { antiSpam.SpamAssassinEnabled = false; } if (antiSpam.TarpitCount != 0) { antiSpam.TarpitCount = 0; } if (antiSpam.TarpitDelay != 0) { antiSpam.TarpitDelay = 0; } if (antiSpam.UseMXChecks != false) { antiSpam.UseMXChecks = false; } if (antiSpam.UseSPF != false) { antiSpam.UseSPF = false; } if (antiSpam.MaximumMessageSize != 1024) { antiSpam.MaximumMessageSize = 1024; } if (antiSpam.DKIMVerificationEnabled != false) { antiSpam.DKIMVerificationEnabled = false; } antiSpam.WhiteListAddresses.Clear(); for (int i = 0; i < antiSpam.DNSBlackLists.Count; i++) { hMailServer.DNSBlackList list = antiSpam.DNSBlackLists[i]; if (list.Active) { list.Active = false; list.Save(); } } hMailServer.DNSBlackLists dnsBlackLists = antiSpam.DNSBlackLists; while (dnsBlackLists.Count > 0) { dnsBlackLists.DeleteByDBID(dnsBlackLists[0].ID); } hMailServer.SURBLServers surblServers = antiSpam.SURBLServers; for (int i = surblServers.Count - 1; i >= 0; i--) { if (surblServers[i].DNSHost != "multi.surbl.org") { surblServers.DeleteByDBID(surblServers[i].ID); } else { surblServers[i].Active = false; } } if (surblServers.Count == 0) { hMailServer.SURBLServer surblServer = surblServers.Add(); surblServer.Active = false; surblServer.DNSHost = "multi.surbl.org"; surblServer.RejectMessage = "Nope"; surblServer.Score = 5; surblServer.Save(); } hMailServer.IncomingRelays incomingRelays = _settings.IncomingRelays; while (incomingRelays.Count > 0) { incomingRelays.DeleteByDBID(incomingRelays[0].ID); } antiSpam.ClearGreyListingTriplets(); }