private hMailServer.SURBLServers GetSurblServers() { hMailServer.AntiSpam antiSpam = APICreator.AntiSpamSettings; hMailServer.SURBLServers surblServers = antiSpam.SURBLServers; Marshal.ReleaseComObject(antiSpam); return(surblServers); }
public void OnDeleteObject(object sender, EventArgs args) { if (Utility.AskDeleteItem(_serverName)) { hMailServer.SURBLServers surblServers = APICreator.SURBLServers; surblServers.DeleteByDBID(_serverID); Marshal.ReleaseComObject(surblServers); Instances.MainForm.RefreshParentNode(); } }
protected override void DeleteItems(List <ListViewItem> items) { hMailServer.SURBLServers surblServers = GetSurblServers(); foreach (var item in items) { int id = Convert.ToInt32(item.Tag); surblServers.DeleteByDBID(id); } Marshal.ReleaseComObject(surblServers); }
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(); } }
protected override void LoadList() { listObjects.Items.Clear(); hMailServer.SURBLServers surblServers = GetSurblServers(); for (int i = 0; i < surblServers.Count; i++) { hMailServer.SURBLServer surblServer = surblServers[i]; ListViewItem item = listObjects.Items.Add(surblServer.DNSHost); item.SubItems.Add(EnumStrings.GetYesNoString(surblServer.Active)); item.Tag = surblServer.ID; Marshal.ReleaseComObject(surblServer); } Marshal.ReleaseComObject(surblServers); }
public ucSURBLServer(int serverID) { InitializeComponent(); if (serverID > 0) { hMailServer.SURBLServers surblServers = APICreator.SURBLServers; _representedObject = surblServers.get_ItemByDBID(serverID); Marshal.ReleaseComObject(surblServers); } 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.SURBLServers surblServers = APICreator.SURBLServers; _representedObject = surblServers.Add(); newObject = true; Marshal.ReleaseComObject(surblServers); } _representedObject.Active = checkEnabled.Checked; _representedObject.DNSHost = textDNSHost.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(null); // Set the object to clean. DirtyChecker.SetClean(this); if (newObject) { SearchNodeText crit = new SearchNodeText(_representedObject.DNSHost); mainForm.SelectNode(crit); } return(true); }
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(); }