public void TestDeliverToMyselfOnLocalPortAfterChangedLocalPort() { TCPIPPorts oPorts = _application.Settings.TCPIPPorts; for (int i = 0; i < oPorts.Count; i++) { TCPIPPort oTestPort = oPorts[i]; if (oTestPort.Protocol == eSessionType.eSTIMAP) { oTestPort.PortNumber = 14300; } else if (oTestPort.Protocol == eSessionType.eSTSMTP) { oTestPort.PortNumber = 11000; } else if (oTestPort.Protocol == eSessionType.eSTPOP3) { oTestPort.PortNumber = 2500; } oTestPort.Save(); } _application.Stop(); _application.Start(); // Set up a server and start listening. var deliveryResults = new Dictionary <string, int>(); deliveryResults["*****@*****.**"] = 250; int smtpServerPort = TestSetup.GetNextFreePort(); using (var server = new SmtpServerSimulator(1, smtpServerPort)) { server.AddRecipientResult(deliveryResults); server.StartListen(); // Add a route so we can connect to localhost. TestSetup.AddRoutePointingAtLocalhost(5, smtpServerPort, false); // Send message to this route. var sim = new SmtpClientSimulator(false, 11000); sim.Send("*****@*****.**", "*****@*****.**", "Test", "Test message"); // Wait for the client to disconnect. server.WaitForCompletion(); CustomAsserts.AssertRecipientsInDeliveryQueue(0, false); Assert.IsTrue(server.MessageData.Contains("Test message")); } oPorts.SetDefault(); _application.Stop(); _application.Start(); }
public void TestSURBLCombinedWithSignature() { Application application = SingletonProvider <TestSetup> .Instance.GetApp(); // Create a test account // Fetch the default domain _domain.SignatureEnabled = true; _domain.SignaturePlainText = "MyDomainSignature"; _domain.AddSignaturesToLocalMail = true; _domain.Save(); Account account1 = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); // Disallow incorrect line endings. _antiSpam.SpamMarkThreshold = 1; _antiSpam.SpamDeleteThreshold = 100; _antiSpam.AddHeaderReason = true; _antiSpam.AddHeaderSpam = true; _antiSpam.PrependSubject = true; _antiSpam.PrependSubjectText = "ThisIsSpam"; // Enable SURBL. SURBLServer surblServer = _antiSpam.SURBLServers[0]; surblServer.Active = true; surblServer.Score = 5; surblServer.Save(); // Send a messages to this account. var smtpClientSimulator = new SmtpClientSimulator(); smtpClientSimulator.Send("*****@*****.**", "*****@*****.**", "SURBL-No-Match", "This is a test message without a SURBL url."); string sMessageContents = Pop3ClientSimulator.AssertGetFirstMessageText(account1.Address, "test"); if (sMessageContents.Length == 0 || sMessageContents.Contains("X-hMailServer-Spam") || sMessageContents.Contains("ThisIsSpam")) { throw new Exception("Non-Spam message detected as spam"); } Assert.IsTrue(sMessageContents.Contains(_domain.SignaturePlainText)); smtpClientSimulator.Send("*****@*****.**", "*****@*****.**", "SURBL-No-Match", "This is a test message with a SURBL url: -> http://surbl-org-permanent-test-point.com/ <-"); sMessageContents = Pop3ClientSimulator.AssertGetFirstMessageText(account1.Address, "test"); if (!sMessageContents.Contains("X-hMailServer-Spam") || !sMessageContents.Contains("ThisIsSpam")) { throw new Exception("Spam message not detected as spam"); } Assert.IsTrue(sMessageContents.Contains(_domain.SignaturePlainText)); }
public void TestSMTPServerAuthLogin() { var sim = new SmtpClientSimulator(); string errorMsg; CustomAsserts.Throws <AuthenticationException>(() => sim.ConnectAndLogon(GetUsername(), GetPassword(), out errorMsg)); EnsureNoPassword(); }
public void TestAutoReply() { // Create a test account // Fetch the default domain Account oAccount1 = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, TestSetup.UniqueString() + "@test.com", "test"); Account oAccount2 = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, TestSetup.UniqueString() + "@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. var smtpClientSimulator = new SmtpClientSimulator(); smtpClientSimulator.Send(oAccount1.Address, oAccount2.Address, "Test message", "This is the body"); var pop3ClientSimulator = new Pop3ClientSimulator(); Pop3ClientSimulator.AssertMessageCount(oAccount1.Address, "test", 1); Pop3ClientSimulator.AssertMessageCount(oAccount2.Address, "test", 1); string s = pop3ClientSimulator.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 smtpClientSimulator.Send(oAccount1.Address, oAccount2.Address, "Test message", "This is the body"); Pop3ClientSimulator.AssertMessageCount(oAccount2.Address, "test", 2); Pop3ClientSimulator.AssertMessageCount(oAccount1.Address, "test", 1); s = pop3ClientSimulator.GetFirstMessageText(oAccount1.Address, "test"); if (s.ToLower().IndexOf("re: test message") < 0) { throw new Exception("ERROR - Auto reply subject not set properly."); } Assert.IsTrue(s.Contains("Auto-Submitted: auto-replied")); oAccount2.VacationMessageIsOn = false; oAccount2.Save(); }
public void TestPostmasterAddressIsAliasButAliasMissing() { _domain.Postmaster = "*****@*****.**"; _domain.Save(); Account account = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); CustomAsserts.Throws <DeliveryFailedException>(() => SmtpClientSimulator.StaticSend("*****@*****.**", "*****@*****.**", "Test", "Test")); }
public void TestNoVirus() { _antiVirus.ClamAVEnabled = true; Account account1 = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); SmtpClientSimulator.StaticSend(account1.Address, account1.Address, "Mail 1", "Mail 1"); Pop3ClientSimulator.AssertMessageCount(account1.Address, "test", 1); }
public void TestFatalDeliveryFailure() { _application.Settings.Logging.Enabled = true; _application.Settings.Logging.LogSMTP = true; _application.Settings.Logging.LogTCPIP = true; _application.Settings.Logging.LogDebug = true; Assert.AreEqual(0, _status.UndeliveredMessages.Length); // No valid recipients... var deliveryResults = new Dictionary <string, int>(); deliveryResults["*****@*****.**"] = 550; int smtpServerPort = TestSetup.GetNextFreePort(); using (var server = new SmtpServerSimulator(1, smtpServerPort)) { server.AddRecipientResult(deliveryResults); server.StartListen(); // Add a route so we can conenct to localhost. TestSetup.AddRoutePointingAtLocalhost(0, smtpServerPort, false); // Send message to this route. var smtp = new SmtpClientSimulator(); var recipients = new List <string>(); recipients.Add("*****@*****.**"); smtp.Send("*****@*****.**", recipients, "Test", "Test message"); string undeliveredMessages = _status.UndeliveredMessages; // Wait for the client to disconnect. server.WaitForCompletion(); // wait for the message to be delivered. for (int i = 1; i <= 40; i++) { Assert.IsFalse(i == 40); if (_status.UndeliveredMessages.Contains("\[email protected]") || _status.UndeliveredMessages.Length == 0) { break; } Thread.Sleep(250); } CustomAsserts.AssertRecipientsInDeliveryQueue(0, true); string bounceMessage = Pop3ClientSimulator.AssertGetFirstMessageText(_account.Address, "test"); Assert.IsTrue(bounceMessage.Contains("Remote server (127.0.0.1) issued an error.")); Assert.IsTrue(bounceMessage.Contains("550 [email protected]")); } }
public void TestDistributionListsMembershipDomainAliases() { var imap = new ImapClientSimulator(); var smtpClientSimulator = new SmtpClientSimulator(); Application application = SingletonProvider <TestSetup> .Instance.GetApp(); DomainAlias domainAlias = _domain.DomainAliases.Add(); domainAlias.AliasName = "dummy-example.com"; domainAlias.Save(); Account account = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); account = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); // // TEST LIST SECURITY IN COMBINATION WITH DOMAIN NAME ALIASES // var recipients = new List <string>(); recipients.Clear(); recipients.Add("*****@*****.**"); DistributionList list3 = SingletonProvider <TestSetup> .Instance.AddDistributionList(_domain, "*****@*****.**", recipients); list3.Mode = eDistributionListMode.eLMMembership; list3.Save(); // THIS MESSAGE SHOULD FAIL - Membership required, unknown sender domain CustomAsserts.Throws <DeliveryFailedException>(() => smtpClientSimulator.Send("*****@*****.**", "*****@*****.**", "Mail 1", "Mail 1")); list3.Delete(); // THIS MESSAGE SHOULD SUCCED - Membership required, sender domain is now an alias for test.com. recipients = new List <string>(); recipients.Clear(); recipients.Add("*****@*****.**"); recipients.Add("*****@*****.**"); list3 = SingletonProvider <TestSetup> .Instance.AddDistributionList(_domain, "*****@*****.**", recipients); list3.Mode = eDistributionListMode.eLMMembership; list3.Save(); smtpClientSimulator.Send("*****@*****.**", "*****@*****.**", "Mail 1", "Mail 1"); ImapClientSimulator.AssertMessageCount("*****@*****.**", "test", "Inbox", 1); ImapClientSimulator.AssertMessageCount("*****@*****.**", "test", "Inbox", 1); }
public void TestSendToPostmasterAddress() { _domain.Postmaster = "*****@*****.**"; _domain.Save(); Account account = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); SmtpClientSimulator.StaticSend("*****@*****.**", "*****@*****.**", "Test", "Test"); Pop3ClientSimulator.AssertMessageCount(account.Address, "test", 1); }
public void TestPlusAddressing() { // Create a test account // Fetch the default domain // Enable plus adressing _domain.PlusAddressingEnabled = true; _domain.PlusAddressingCharacter = "+"; // Save the change _domain.Save(); Account account = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); Account account2 = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); // Send 5 messages to this account, without using plus addressing. var smtpClientSimulator = new SmtpClientSimulator(); for (int i = 0; i < 5; i++) { smtpClientSimulator.Send("*****@*****.**", "*****@*****.**", "INBOX", "Plus addressing message"); } // Wait for completion // Check using POP3 that 5 messages exists. Pop3ClientSimulator.AssertMessageCount("*****@*****.**", "test", 5); // Send using plus addressing for (int i = 0; i < 5; i++) { smtpClientSimulator.Send("*****@*****.**", "*****@*****.**", "INBOX", "Plus addressing message"); } // Wait for completion Pop3ClientSimulator.AssertMessageCount("*****@*****.**", "test", 10); { Account account3 = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); SingletonProvider <TestSetup> .Instance.AddAlias(_domain, "*****@*****.**", "*****@*****.**"); // Send to the alias for (int i = 0; i < 5; i++) { smtpClientSimulator.Send("*****@*****.**", "*****@*****.**", "INBOX", "Plus addressing message"); } // Wait for completion Pop3ClientSimulator.AssertMessageCount("*****@*****.**", "test", 5); } _domain.PlusAddressingEnabled = false; }
public void TestNotEnabled() { LogHandler.DeleteCurrentDefaultLog(); Account account1 = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); SmtpClientSimulator.StaticSend(account1.Address, account1.Address, "Mail 1", "Mail 1"); Pop3ClientSimulator.AssertMessageCount(account1.Address, "test", 1); string defaultLog = LogHandler.ReadCurrentDefaultLog(); Assert.IsFalse(defaultLog.Contains("Connecting to ClamAV")); }
public void TestIncorrectPort() { _antiVirus.ClamAVEnabled = true; _antiVirus.ClamAVPort = 110; Account account1 = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); SmtpClientSimulator.StaticSend(account1.Address, account1.Address, "Mail 1", "DummyBody"); Pop3ClientSimulator.AssertMessageCount(account1.Address, "test", 1); CustomAsserts.AssertReportedError("Protocol error. Unexpected response: +OK"); }
public void TestPostmasterRecipientExternal() { _domain.Postmaster = "*****@*****.**"; _domain.Save(); SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); Account account = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); CustomAsserts.Throws <DeliveryFailedException>(() => SmtpClientSimulator.StaticSend("*****@*****.**", "*****@*****.**", "Test", "Test")); }
public void TestCaseInsensitivtyAccount() { Account testAccount = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); var smtpClientSimulator = new SmtpClientSimulator(); string upperCase = testAccount.Address.ToUpper(); smtpClientSimulator.Send("*****@*****.**", upperCase, "test mail", "test body"); Pop3ClientSimulator.AssertMessageCount("*****@*****.**", "test", 1); }
public void TestUnusedPort() { _antiVirus.ClamAVEnabled = true; _antiVirus.ClamAVPort = 54391; Account account1 = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); SmtpClientSimulator.StaticSend(account1.Address, account1.Address, "Mail 1", "DummyBody"); Pop3ClientSimulator.AssertMessageCount(account1.Address, "test", 1); CustomAsserts.AssertReportedError("Unable to connect to ClamAV server at localhost:54391."); }
public void TestAttachmentRemoval() { // Send a message to the account. string messageText = @"Date: Thu, 03 Jul 2008 22:01:53 +0200\r\n" + "From: Test <*****@*****.**>\r\n" + "MIME-Version: 1.0\r\n" + "To: [email protected]\r\n" + "Subject: test\r\n" + "Content-Type: multipart/mixed;\r\n" + " boundary=\"------------050908050500020808050006\"\r\n" + "\r\n" + "This is a multi-part message in MIME format.\r\n" + "--------------050908050500020808050006\r\n" + "Content-Type: text/plain; charset=ISO-8859-1; format=flowed\r\n" + "Content-Transfer-Encoding: 7bit\r\n" + "\r\n" + "Test\r\n" + "\r\n" + "--------------050908050500020808050006\r\n" + "Content-Type: text/plain;\r\n" + " name=\"AUTOEXEC.dll\"\r\n" + "Content-Transfer-Encoding: base64\r\n" + "Content-Disposition: inline;\r\n" + " filename=\"AUTOEXEC.dll\"\r\n" + "\r\n" + "\r\n" + "--------------050908050500020808050006--\r\n"; SmtpClientSimulator.StaticSendRaw("*****@*****.**", "*****@*****.**", messageText); ImapClientSimulator.AssertMessageCount("*****@*****.**", "test", "Inbox", 1); Message message = CustomAsserts.AssertRetrieveFirstMessage(_account.IMAPFolders.get_ItemByName("INBOX")); Assert.AreEqual(1, message.Attachments.Count); Assert.AreEqual("AUTOEXEC.dll.txt", message.Attachments[0].Filename); string tempFile = Path.GetTempFileName(); message.Attachments[0].SaveAs(tempFile); string contents = File.ReadAllText(tempFile); string removedMessage = SingletonProvider <TestSetup> .Instance.GetApp().Settings.ServerMessages.get_ItemByName( "ATTACHMENT_REMOVED").Text; removedMessage = removedMessage.Replace("%MACRO_FILE%", message.Attachments[0].Filename.Substring(0, message.Attachments[0]. Filename.Length - 4)); Assert.IsTrue(contents.Contains(removedMessage)); File.Delete(tempFile); }
public void TestMultipleHostsHalfDeliveryOnFirstPermanentOnSecond() { Assert.AreEqual(0, _status.UndeliveredMessages.Length); // No valid recipients... var deliveryResults = new Dictionary <string, int>(); deliveryResults["*****@*****.**"] = 250; deliveryResults["*****@*****.**"] = 250; deliveryResults["*****@*****.**"] = 450; var deliveryResultsSecond = new Dictionary <string, int>(); deliveryResultsSecond["*****@*****.**"] = 550; deliveryResultsSecond["*****@*****.**"] = 550; deliveryResultsSecond["*****@*****.**"] = 500; int smtpServerPort = TestSetup.GetNextFreePort(); using (var server = new SmtpServerSimulator(2, smtpServerPort)) { server.AddRecipientResult(deliveryResults); server.AddRecipientResult(deliveryResultsSecond); server.StartListen(); // Add a route so we can connect to localhost. TestSetup.AddRoutePointingAtLocalhostMultipleHosts(1, smtpServerPort); // Send message to this route. var smtp = new SmtpClientSimulator(); var recipients = new List <string>(); recipients.Add("*****@*****.**"); recipients.Add("*****@*****.**"); recipients.Add("*****@*****.**"); smtp.Send("*****@*****.**", recipients, "Test", "Accepted message"); // Wait for the client to disconnect. server.WaitForCompletion(); // Trigger a sending of the bounce message. CustomAsserts.AssertRecipientsInDeliveryQueue(0, true); string bounceMessage = Pop3ClientSimulator.AssertGetFirstMessageText(_account.Address, "test"); Assert.IsFalse(bounceMessage.Contains("RCPT TO:<*****@*****.**>")); Assert.IsFalse(bounceMessage.Contains("RCPT TO:<*****@*****.**>")); Assert.IsTrue(bounceMessage.Contains("RCPT TO:<*****@*****.**>")); Assert.IsTrue(bounceMessage.Contains("500 [email protected]")); } }
public void TestESMTPAInHeader() { string errorMessage; var client = new SmtpClientSimulator(); client.Send(false, _account.Address, "test", _account.Address, _account.Address, "Test", "Test", out errorMessage); var message = Pop3ClientSimulator.AssertGetFirstMessageText(_account.Address, "test"); Assert.IsTrue(message.Contains("ESMTPA\r\n")); }
public void TestSpamScoreHeadersAreCreatedEvenIfNoSpamMatch() { // Send a messages to this account. var smtpClientSimulator = new SmtpClientSimulator(); smtpClientSimulator.Send("*****@*****.**", "*****@*****.**", "SURBL-Match", "Message body"); var message = Pop3ClientSimulator.AssertGetFirstMessageText("*****@*****.**", "test"); Assert.IsTrue(message.Contains("X-hMailServer-Reason-Score: 0")); }
public void TestMaxSizeNoLimit() { Application application = SingletonProvider <TestSetup> .Instance.GetApp(); // Create a test account // Fetch the default domain Account oAccount1 = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); // Disallow incorrect line endings. _antiSpam.SpamMarkThreshold = 1; _antiSpam.SpamDeleteThreshold = 100; _antiSpam.AddHeaderReason = true; _antiSpam.AddHeaderSpam = true; _antiSpam.PrependSubject = true; _antiSpam.PrependSubjectText = "ThisIsSpam"; _antiSpam.MaximumMessageSize = 0; // Enable SURBL. SURBLServer oSURBLServer = _antiSpam.SURBLServers[0]; oSURBLServer.Active = true; oSURBLServer.Score = 5; oSURBLServer.Save(); // Send a messages to this account. var smtpClientSimulator = new SmtpClientSimulator(); var sb = new StringBuilder(); int iterations = ((40 * 1024) / 100) + 1; for (int i = 0; i < iterations; i++) { sb.Append( "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890\r\n"); } smtpClientSimulator.Send("*****@*****.**", "*****@*****.**", "SURBL-No-Match", "This is a test message with a SURBL url: -> http://surbl-org-permanent-test-point.com/ <-\r\n" + sb); string sMessageContents = Pop3ClientSimulator.AssertGetFirstMessageText(oAccount1.Address, "test"); if (!sMessageContents.Contains("X-hMailServer-Spam") || !sMessageContents.Contains("X-hMailServer-Reason") || !sMessageContents.Contains("ThisIsSpam")) { throw new Exception("Spam message not detected as spam."); } oSURBLServer.Active = false; oSURBLServer.Save(); }
public void TestESMTPSInHeader() { var smtpClientSimulator = new SmtpClientSimulator(false, 25002); string errorMessage; smtpClientSimulator.Send(true, string.Empty, string.Empty, _account.Address, _account.Address, "Test", "test", out errorMessage); var message = Pop3ClientSimulator.AssertGetFirstMessageText(_account.Address, "test"); Assert.IsTrue(message.Contains("ESMTPS\r\n")); }
public void TestBasic() { // Send a messages to this account. var smtpClientSimulator = new SmtpClientSimulator(); smtpClientSimulator.Send(account.Address, account.Address, "SA test", "This is a test message."); string sMessageContents = Pop3ClientSimulator.AssertGetFirstMessageText(account.Address, "test"); if (!sMessageContents.Contains("X-Spam-Status")) { Assert.Fail("SpamAssassin did not run"); } }
public void WhenSSL3IsDisabledTLSShouldWork() { SetSslVersions(false, true, true, true); var smtpClientSimulator = new SmtpClientSimulator(true, SslProtocols.Tls, 25001, IPAddress.Parse("127.0.0.1")); string errorMessage; smtpClientSimulator.Send(false, _account.Address, "test", _account.Address, _account.Address, "Test", "test", out errorMessage); var message = Pop3ClientSimulator.AssertGetFirstMessageText(_account.Address, "test"); Assert.IsTrue(message.Contains("version=TLSv1"), message); }
public void TestChangeFlags() { Account oAccount = SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); SmtpClientSimulator.StaticSend("*****@*****.**", oAccount.Address, "Test", "test"); Pop3ClientSimulator.AssertMessageCount(oAccount.Address, "test", 1); var simulator = new ImapClientSimulator(); simulator.ConnectAndLogon(oAccount.Address, "test"); simulator.ExamineFolder("Inbox"); Assert.IsFalse(simulator.SetFlagOnMessage(1, true, @"\Deleted")); }
public void TestMaxSizeLimitation_AnnouncedText() { _settings.MaxMessageSize = 102400; // Make sure that no bounce is sent. var smtpClient = new SmtpClientSimulator(); smtpClient.Connect(); smtpClient.Receive(); // Receive banner var ehloResponse = smtpClient.SendAndReceive("EHLO example.com\r\n"); StringAssert.Contains("250-SIZE 104857600", ehloResponse, ehloResponse); }
private Message SendMessageWithSignature(string plainTextSignature, string htmlSignature, string message) { _domain.SignatureEnabled = true; _domain.AddSignaturesToLocalMail = true; _account.SignatureEnabled = true; _account.SignaturePlainText = plainTextSignature; _account.SignatureHTML = htmlSignature; _account.Save(); SmtpClientSimulator.StaticSendRaw(_account.Address, _account.Address, message); return(CustomAsserts.AssertGetFirstMessage(_account, "Inbox")); }
public void TreatRecipientAsExternalDomain() { int smtpServerPort = TestSetup.GetNextFreePort(); Route route = TestSetup.AddRoutePointingAtLocalhost(1, smtpServerPort, false); route.TreatRecipientAsLocalDomain = false; route.Save(); var smtpClientSimulator = new SmtpClientSimulator(); string result = ""; CustomAsserts.Throws <DeliveryFailedException>(() => smtpClientSimulator.Send("*****@*****.**", "*****@*****.**", "Mail 1", "Mail 1", out result)); Assert.IsTrue(result.Contains("530 SMTP authentication is required.")); }
public void UnsupportedParameterInMailFrom() { var smtpConn = new SmtpClientSimulator(); smtpConn.Connect(); smtpConn.Receive(); smtpConn.SendAndReceive("EHLO example.com\r\n"); var response = smtpConn.SendAndReceive("MAIL FROM: [email protected] A=B\r\n"); Assert.AreEqual("550 Unsupported ESMTP extension: A=B\r\n", response); }
public void DeliveryShouldSucceedAfterClearingDeliveryQueue() { SingletonProvider <TestSetup> .Instance.AddAccount(_domain, "*****@*****.**", "test"); _application.GlobalObjects.DeliveryQueue.Clear(); Assert.IsTrue(LogHandler.DefaultLogContains("Delivery queue cleared.")); var smtpClientSimulator = new SmtpClientSimulator(); smtpClientSimulator.Send("*****@*****.**", "*****@*****.**", "INBOX", "Mirror test message"); Pop3ClientSimulator.AssertMessageCount("*****@*****.**", "test", 1); }
public void TestSendExternalToExternalNotPermitted_ErrorMessage() { SecurityRange range = SingletonProvider <TestSetup> .Instance.GetApp().Settings.SecurityRanges.get_ItemByName("My computer"); range.AllowDeliveryFromRemoteToRemote = false; range.Save(); var smtpClientSimulator = new SmtpClientSimulator(); var ex = Assert.Throws <DeliveryFailedException>(() => smtpClientSimulator.Send("*****@*****.**", "*****@*****.**", "Mail 1", "Test message")); StringAssert.Contains("550 Delivery is not allowed to this address.", ex.Message, ex.Message); }