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(); }
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; } } } }
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."); } }
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."); }
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(); }