/// <summary> /// Creates and starts an instance of SimpleSmtpServer that will listen on a specific port. /// </summary> /// <param name="port">port number the server should listen to</param> /// <returns>The <see cref="SimpleSmtpServer">SmtpServer</see> waiting for message</returns> public static SimpleSmtpServer Start(int port) { SimpleSmtpServer server = new SimpleSmtpServer(port); Thread smtpServerThread = new Thread(new ThreadStart(server.Run)); smtpServerThread.Start(); // Block until the server socket is created try { server.startedEvent.WaitOne(); } catch { // Ignore don't care. } // If an exception occured during server startup, send it back. if (server.mainThreadException != null) { throw server.mainThreadException; } return(server); }
static void Main(string[] args) { SimpleSmtpServer server= new SimpleSmtpServer(); server.Start(); while(true) { if (server.ReceivedEmailCount > 0) { foreach(SmtpMessage message in server.ReceivedEmail) { Console.WriteLine("----------------------------------------------------------------"); Console.WriteLine(); Console.WriteLine(message.ToString()); } server.ClearReceivedEmail(); } Thread.Sleep(100); } }
public void SetUp() { _server = SimpleSmtpServer.Start(); }
public MailServiceTests() { _server = null; }
public void Initialize() { // Initialise smtpServer with a running one. // Note that this is running on localhost port 25 by default. smtpServer = SimpleSmtpServer.Start(); }
public override void Stop() { logger.Info("Stopping SMTP Server on port {0}", _port); base.Stop (); if (_smtpServer != null) { _smtpServer.Stop(); _smtpServer = null; } }
public override void Start() { logger.Info("Starting SMTP server on port {0}", _port); _smtpServer = SimpleSmtpServer.Start(_port); base.Start (); }
public SimpleSmtpServerTests() { server = null; server2 = null; }
public void MultipleServerPort() { int ALT_PORT = 2525; // Start second server server2 = new SimpleSmtpServer(ALT_PORT); server2.Start(); // Send to first server System.Web.Mail.SmtpMail.SmtpServer = "localhost"; System.Web.Mail.SmtpMail.Send("*****@*****.**", "*****@*****.**", "This is the subject", "This is the body."); // Send to second server MailMessage mail = new MailMessage(); mail.To = "*****@*****.**"; mail.From = "*****@*****.**"; mail.Subject = "This is the second subject"; mail.Body = "This is the second body."; mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", ALT_PORT.ToString()); SmtpMail.Send(mail); // Check first server Assert.AreEqual(1, server.ReceivedEmail.Length, "server.ReceivedEmail.Length"); Assert.AreEqual(1, server.ReceivedEmailCount, "server.ReceivedEmailSize"); SmtpMessage email = server.ReceivedEmail[0]; Assert.AreEqual("<*****@*****.**>", email.Headers["To"]); Assert.AreEqual("<*****@*****.**>", email.Headers["From"]); Assert.AreEqual("text/plain;", email.Headers["Content-Type"]); Assert.AreEqual("This is the subject", email.Headers["Subject"]); Assert.AreEqual("This is the body.", email.Body); // Check second server Assert.AreEqual(1, server2.ReceivedEmail.Length, "server.ReceivedEmail.Length"); Assert.AreEqual(1, server2.ReceivedEmailCount, "server.ReceivedEmailSize"); SmtpMessage email1 = server2.ReceivedEmail[0]; Assert.AreEqual("<*****@*****.**>", email1.Headers["To"]); Assert.AreEqual("<*****@*****.**>", email1.Headers["From"]); Assert.AreEqual("text/plain;", email1.Headers["Content-Type"]); Assert.AreEqual("This is the second subject", email1.Headers["Subject"]); Assert.AreEqual("This is the second body.", email1.Body); }
public void MultipleServerPortSimple() { int ALT_PORT = 2525; // Start second server server2 = SimpleSmtpServer.Start(ALT_PORT); // Send to first server System.Web.Mail.SmtpMail.SmtpServer = "localhost"; System.Web.Mail.SmtpMail.Send("*****@*****.**", "*****@*****.**", "This is the subject", "This is the body."); // Check first server Assert.AreEqual(1, server.ReceivedEmail.Length, "server.ReceivedEmail.Length"); Assert.AreEqual(1, server.ReceivedEmailCount, "server.ReceivedEmailSize"); SmtpMessage email = server.ReceivedEmail[0]; Assert.AreEqual("<*****@*****.**>", email.Headers["To"]); Assert.AreEqual("<*****@*****.**>", email.Headers["From"]); Assert.AreEqual("text/plain;", email.Headers["Content-Type"]); Assert.AreEqual("This is the subject", email.Headers["Subject"]); Assert.AreEqual("This is the body.", email.Body); // Check second server Assert.AreEqual(0, server2.ReceivedEmail.Length, "server.ReceivedEmail.Length"); Assert.AreEqual(0, server2.ReceivedEmailCount, "server.ReceivedEmailSize"); }
protected void setUp() { server = new SimpleSmtpServer(); server.Start(); server2 = null; }
public void ServerBindingError() { // Server is already running. We check that this cause an SocketException to be thrown SimpleSmtpServer server2 = new SimpleSmtpServer(); server2.Start(); Assert.Fail("BindingError"); }
public void StopStartServer() { System.Web.Mail.SmtpMail.SmtpServer = "localhost"; System.Web.Mail.SmtpMail.Send("*****@*****.**", "*****@*****.**", "This is the subject", "This is the body."); Assert.AreEqual(1, server.ReceivedEmail.Length, "server.ReceivedEmail.Length"); Assert.AreEqual(1, server.ReceivedEmailCount, "server.ReceivedEmailSize"); SmtpMessage email1 = server.ReceivedEmail[0]; Assert.AreEqual("<*****@*****.**>", email1.Headers["To"]); Assert.AreEqual("<*****@*****.**>", email1.Headers["From"]); Assert.AreEqual("text/plain;", email1.Headers["Content-Type"]); Assert.AreEqual("This is the subject", email1.Headers["Subject"]); Assert.AreEqual("This is the body.", email1.Body); server.Stop(); server = SimpleSmtpServer.Start(); System.Web.Mail.SmtpMail.Send("*****@*****.**", "*****@*****.**", "This is the second subject", "This is the second body."); Assert.AreEqual(1, server.ReceivedEmail.Length, "server.ReceivedEmail.Length"); Assert.AreEqual(1, server.ReceivedEmailCount, "server.ReceivedEmailSize"); SmtpMessage email2 = server.ReceivedEmail[0]; Assert.AreEqual("<*****@*****.**>", email2.Headers["To"]); Assert.AreEqual("<*****@*****.**>", email2.Headers["From"]); Assert.AreEqual("text/plain;", email2.Headers["Content-Type"]); Assert.AreEqual("This is the second subject", email2.Headers["Subject"]); Assert.AreEqual("This is the second body.", email2.Body); }
/// <summary> /// Creates and starts an instance of SimpleSmtpServer that will listen on a specific port. /// </summary> /// <param name="port">port number the server should listen to</param> /// <returns>The <see cref="SimpleSmtpServer">SmtpServer</see> waiting for message</returns> public static SimpleSmtpServer Start(int port) { SimpleSmtpServer server = new SimpleSmtpServer(port); Thread smtpServerThread = new Thread(new ThreadStart(server.Run)); smtpServerThread.Start(); // Block until the server socket is created try { server.startedEvent.WaitOne(); } catch { // Ignore don't care. } // If an exception occured during server startup, send it back. if (server.mainThreadException != null) throw server.mainThreadException; return server; }