예제 #1
0
 public void SaveProperties(hMailServer.WhiteListAddress address)
 {
     address.LowerIPAddress = textLowerIP.Text;
     address.UpperIPAddress = textUpperIP.Text;
     address.Description    = textDescription.Text;
     address.EmailAddress   = textEmailAddress.Text;
 }
예제 #2
0
 public void LoadProperties(hMailServer.WhiteListAddress address)
 {
     textLowerIP.Text      = address.LowerIPAddress;
     textUpperIP.Text      = address.UpperIPAddress;
     textDescription.Text  = address.Description;
     textEmailAddress.Text = address.EmailAddress;
 }
예제 #3
0
        private void EditSelectedItem()
        {
            if (listWhiteAddresses.SelectedItems.Count != 1)
            {
                return;
            }

            int id = Convert.ToInt32(listWhiteAddresses.SelectedItems[0].Tag);

            hMailServer.WhiteListAddresses addresses = GetWhiteListAddresses();
            hMailServer.WhiteListAddress   address   = addresses.get_ItemByDBID(id);

            formWhiteListAddress whiteDlg = new formWhiteListAddress();

            whiteDlg.LoadProperties(address);

            if (whiteDlg.ShowDialog() == DialogResult.OK)
            {
                whiteDlg.SaveProperties(address);

                address.Save();

                ListItems();
            }

            Marshal.ReleaseComObject(address);
            Marshal.ReleaseComObject(addresses);
        }
예제 #4
0
        public void TestEnabled()
        {
            hMailServer.Application application = SingletonProvider <Utilities> .Instance.GetApp();

            hMailServer.WhiteListAddresses obAddresses = _antiSpam.WhiteListAddresses;
            hMailServer.WhiteListAddress   obAddress   = obAddresses.Add();

            obAddress.EmailAddress   = "*****@*****.**";
            obAddress.LowerIPAddress = "0.0.0.0";
            obAddress.UpperIPAddress = "255.255.255.255";
            obAddress.Description    = "Test";
            obAddress.Save();

            // Enable SURBL.
            hMailServer.SURBLServer oSURBLServer = _antiSpam.SURBLServers[0];
            oSURBLServer.Active = true;
            oSURBLServer.Score  = 5;
            oSURBLServer.Save();

            // Send a messages to this account.
            Assert.IsTrue(SMTPClientSimulator.StaticSend("*****@*****.**", "*****@*****.**", "SURBL-Match", "This is a test message with a SURBL url: -> http://surbl-org-permanent-test-point.com/ <-"));

            obAddresses.DeleteByDBID(obAddress.ID);

            // Check that it's detected as spam again.
            Assert.IsFalse(SMTPClientSimulator.StaticSend("*****@*****.**", "*****@*****.**", "SURBL-Match", "This is a test message with a SURBL url: -> http://surbl-org-permanent-test-point.com/ <-"));

            POP3Simulator.AssertMessageCount("*****@*****.**", "test", 1);
        }
예제 #5
0
        public void TestFormatVariations()
        {
            hMailServer.Application application = SingletonProvider <Utilities> .Instance.GetApp();

            hMailServer.WhiteListAddresses obAddresses = _antiSpam.WhiteListAddresses;

            hMailServer.WhiteListAddress obAddress = obAddresses.Add();

            string address = @"A%B/C\[email protected]";

            obAddress.EmailAddress = address;
            Assert.AreEqual(address, obAddress.EmailAddress);

            address = @"\%%%__\[email protected]";
            obAddress.EmailAddress = address;
            Assert.AreEqual(address, obAddress.EmailAddress);
        }
예제 #6
0
        public void TestWhiteListAddress()
        {
            hMailServer.Settings oSettings = SingletonProvider <Utilities> .Instance.GetApp().Settings;

            hMailServer.WhiteListAddress whiteAddress = oSettings.AntiSpam.WhiteListAddresses.Add();

            whiteAddress.Description  = "My description of this entry";
            whiteAddress.EmailAddress = "*****@*****.**";
            whiteAddress.Save();

            if (whiteAddress.ID == 0)
            {
                throw new Exception("White list address not saved properly");
            }

            oSettings.AntiSpam.WhiteListAddresses.DeleteByDBID(whiteAddress.ID);
        }
예제 #7
0
        private void ConfirmWhiteList()
        {
            hMailServer.WhiteListAddresses addresses = _application.Settings.AntiSpam.WhiteListAddresses;

            Assert.AreEqual(2, addresses.Count);

            hMailServer.WhiteListAddress address = addresses[0];
            Assert.AreEqual("Desc1", address.Description);
            Assert.AreEqual("Email1", address.EmailAddress);
            Assert.AreEqual("1.1.1.1", address.LowerIPAddress);
            Assert.AreEqual("2.2.2.2", address.UpperIPAddress);

            address = addresses[1];
            Assert.AreEqual("Desc2", address.Description);
            Assert.AreEqual("Email2", address.EmailAddress);
            Assert.AreEqual("2.2.2.2", address.LowerIPAddress);
            Assert.AreEqual("21.21.21.21", address.UpperIPAddress);
        }
예제 #8
0
        private void SetupWhiteList()
        {
            hMailServer.WhiteListAddresses addresses = _application.Settings.AntiSpam.WhiteListAddresses;

            hMailServer.WhiteListAddress address = addresses.Add();
            address.Description    = "Desc1";
            address.EmailAddress   = "Email1";
            address.LowerIPAddress = "1.1.1.1";
            address.UpperIPAddress = "2.2.2.2";
            address.Save();

            address                = addresses.Add();
            address.Description    = "Desc2";
            address.EmailAddress   = "Email2";
            address.LowerIPAddress = "2.2.2.2";
            address.UpperIPAddress = "21.21.21.21";
            address.Save();
        }
예제 #9
0
        private void ListItems()
        {
            listWhiteAddresses.Items.Clear();

            hMailServer.WhiteListAddresses addresses = GetWhiteListAddresses();

            for (int i = 0; i < addresses.Count; i++)
            {
                hMailServer.WhiteListAddress address = addresses[i];

                ListViewItem item = listWhiteAddresses.Items.Add(address.Description);
                item.SubItems.Add(address.LowerIPAddress);
                item.SubItems.Add(address.UpperIPAddress);
                item.SubItems.Add(address.EmailAddress);

                item.Tag = address.ID;
            }

            Marshal.ReleaseComObject(addresses);
        }
예제 #10
0
        public void TestWhiteList()
        {
            // First white-list the sender address
            hMailServer.WhiteListAddress address = _settings.AntiSpam.WhiteListAddresses.Add();
            address.Description    = "TestWhiteList";
            address.EmailAddress   = "*****@*****.**";
            address.LowerIPAddress = "0.0.0.0";
            address.UpperIPAddress = "255.255.255.255";
            address.Save();


            // Send a messages to this account.
            SMTPClientSimulator oSMTP = new SMTPClientSimulator();

            oSMTP.Send("*****@*****.**", account.Address, "SA test", "This is a test message with spam.\r\n XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X.");

            string sMessageContents = POP3Simulator.AssertGetFirstMessageText(account.Address, "test");

            Assert.IsFalse(sMessageContents.Contains("X-Spam-Status: Yes"));
        }
예제 #11
0
        private void buttonAddWhiteAddress_Click(object sender, EventArgs e)
        {
            formWhiteListAddress whiteDlg = new formWhiteListAddress();

            if (whiteDlg.ShowDialog() == DialogResult.OK)
            {
                hMailServer.AntiSpam           antiSpam  = APICreator.AntiSpamSettings;
                hMailServer.WhiteListAddresses addresses = antiSpam.WhiteListAddresses;
                hMailServer.WhiteListAddress   address   = addresses.Add();

                whiteDlg.SaveProperties(address);

                address.Save();

                Marshal.ReleaseComObject(antiSpam);
                Marshal.ReleaseComObject(addresses);
                Marshal.ReleaseComObject(address);

                ListItems();
            }
        }