Example #1
0
        public void TestAutoReply()
        {
            // Create a test account
            // Fetch the default domain
            hMailServer.Account oAccount1 = SingletonProvider <Utilities> .Instance.AddAccount(_domain, Utilities.RandomString() + "@test.com", "test");

            hMailServer.Account oAccount2 = SingletonProvider <Utilities> .Instance.AddAccount(_domain, Utilities.RandomString() + "@test.com", "test");

            oAccount2.VacationMessageIsOn = true;
            oAccount2.VacationMessage     = "I'm on vacation";
            oAccount2.VacationSubject     = "Out of office!";
            oAccount2.Save();

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

            oSMTP.Send(oAccount1.Address, oAccount2.Address, "Test message", "This is the body");

            POP3Simulator oPOP3 = new POP3Simulator();

            POP3Simulator.AssertMessageCount(oAccount1.Address, "test", 1);
            POP3Simulator.AssertMessageCount(oAccount2.Address, "test", 1);
            string s = oPOP3.GetFirstMessageText(oAccount1.Address, "test");

            if (s.IndexOf("Out of office!") < 0)
            {
                throw new Exception("ERROR - Auto reply subject not set properly.");
            }

            oAccount2.VacationMessageIsOn = false;
            oAccount2.Save();

            oAccount2.VacationSubject     = "";
            oAccount2.VacationMessageIsOn = true;
            oAccount2.Save();

            // Send another
            oSMTP.Send(oAccount1.Address, oAccount2.Address, "Test message", "This is the body");

            POP3Simulator.AssertMessageCount(oAccount2.Address, "test", 2);
            POP3Simulator.AssertMessageCount(oAccount1.Address, "test", 1);

            s = oPOP3.GetFirstMessageText(oAccount1.Address, "test");
            if (s.ToLower().IndexOf("re: test message") < 0)
            {
                throw new Exception("ERROR - Auto reply subject not set properly.");
            }

            oAccount2.VacationMessageIsOn = false;
            oAccount2.Save();
        }
Example #2
0
        public void TestPOP3Server()
        {
            hMailServer.Account account = SingletonProvider <Utilities> .Instance.AddAccount(_domain, "*****@*****.**", "test");

            SMTPClientSimulator smtpSim = new SMTPClientSimulator();

            Assert.IsTrue(smtpSim.Send("*****@*****.**", account.Address, "Test", "MyBody"));

            for (int i = 0; i < 10; i++)
            {
                try
                {
                    POP3Simulator.AssertMessageCount(account.Address, "test", 1);
                    POP3Simulator pop3Sim = new POP3Simulator(true, 11000);
                    string        text    = pop3Sim.GetFirstMessageText(account.Address, "test");

                    Assert.IsTrue(text.Contains("MyBody"));

                    break;
                }
                catch (AssertionException)
                {
                    throw;
                }
                catch (Exception)
                {
                    if (i == 9)
                    {
                        throw;
                    }
                }
            }
        }
Example #3
0
        public void TestAutoReplySubject()
        {
            // Create a test account
            // Fetch the default domain
            hMailServer.Account oAccount1 = SingletonProvider <Utilities> .Instance.AddAccount(_domain, Utilities.RandomString() + "@test.com", "test");

            hMailServer.Account oAccount2 = SingletonProvider <Utilities> .Instance.AddAccount(_domain, Utilities.RandomString() + "@test.com", "test");

            oAccount2.VacationMessageIsOn = true;
            oAccount2.VacationMessage     = "I'm on vacation";
            oAccount2.VacationSubject     = "Auto-Reply: %SUBJECT%";
            oAccount2.Save();

            // Send 1 message to this account
            SMTPClientSimulator oSMTP = new SMTPClientSimulator();

            oSMTP.Send(oAccount1.Address, oAccount2.Address, "Test message", "This is the body");

            // Wait a second to be sure that the message
            // are delivered.

            // Check using POP3 that 2 messages exists.
            POP3Simulator oPOP3 = new POP3Simulator();

            POP3Simulator.AssertMessageCount(oAccount1.Address, "test", 1);
            string s = oPOP3.GetFirstMessageText(oAccount1.Address, "test");

            if (s.IndexOf("Subject: Auto-Reply: Test message") < 0)
            {
                throw new Exception("ERROR - Auto reply subject not set properly.");
            }
        }
Example #4
0
        public void TestAutoReplySubject()
        {
            // Create a test account
            // Fetch the default domain
            hMailServer.Account oAccount1 = SingletonProvider<Utilities>.Instance.AddAccount(_domain, Utilities.RandomString() + "@test.com", "test");
            hMailServer.Account oAccount2 = SingletonProvider<Utilities>.Instance.AddAccount(_domain, Utilities.RandomString() + "@test.com", "test");

            oAccount2.VacationMessageIsOn = true;
            oAccount2.VacationMessage = "I'm on vacation";
            oAccount2.VacationSubject = "Auto-Reply: %SUBJECT%";
            oAccount2.Save();

            // Send 1 message to this account
            SMTPClientSimulator oSMTP = new SMTPClientSimulator();
            oSMTP.Send(oAccount1.Address, oAccount2.Address, "Test message", "This is the body");

            // Wait a second to be sure that the message
            // are delivered.

            // Check using POP3 that 2 messages exists.
            POP3Simulator oPOP3 = new POP3Simulator();

            POP3Simulator.AssertMessageCount(oAccount1.Address, "test", 1);
            string s = oPOP3.GetFirstMessageText(oAccount1.Address, "test");
            if (s.IndexOf("Subject: Auto-Reply: Test message") < 0)
                throw new Exception("ERROR - Auto reply subject not set properly.");
        }
Example #5
0
        public void TestAutoReply()
        {
            // Create a test account
            // Fetch the default domain
            hMailServer.Account oAccount1 = SingletonProvider<Utilities>.Instance.AddAccount(_domain, Utilities.RandomString() + "@test.com", "test");
            hMailServer.Account oAccount2 = SingletonProvider<Utilities>.Instance.AddAccount(_domain, Utilities.RandomString() + "@test.com", "test");

            oAccount2.VacationMessageIsOn = true;
            oAccount2.VacationMessage = "I'm on vacation";
            oAccount2.VacationSubject = "Out of office!";
            oAccount2.Save();

            // Send 2 messages to this account.
            SMTPClientSimulator oSMTP = new SMTPClientSimulator();
            oSMTP.Send(oAccount1.Address, oAccount2.Address, "Test message", "This is the body");

            POP3Simulator oPOP3 = new POP3Simulator();
            POP3Simulator.AssertMessageCount(oAccount1.Address, "test", 1);
            POP3Simulator.AssertMessageCount(oAccount2.Address, "test", 1);
            string s = oPOP3.GetFirstMessageText(oAccount1.Address, "test");
            if (s.IndexOf("Out of office!") < 0)
                throw new Exception("ERROR - Auto reply subject not set properly.");

            oAccount2.VacationMessageIsOn = false;
            oAccount2.Save();

            oAccount2.VacationSubject = "";
            oAccount2.VacationMessageIsOn = true;
            oAccount2.Save();

            // Send another
            oSMTP.Send(oAccount1.Address, oAccount2.Address, "Test message", "This is the body");

            POP3Simulator.AssertMessageCount(oAccount2.Address, "test", 2);
            POP3Simulator.AssertMessageCount(oAccount1.Address, "test", 1);

            s = oPOP3.GetFirstMessageText(oAccount1.Address, "test");
            if (s.ToLower().IndexOf("re: test message") < 0)
                throw new Exception("ERROR - Auto reply subject not set properly.");

            oAccount2.VacationMessageIsOn = false;
            oAccount2.Save();
        }