//
// (C) 2006 John Luke
//
-#if NET_2_0
using NUnit.Framework;
using System;
using System.IO;
Assert.AreEqual ("<foo@example.com>", server.mail_from);
Assert.AreEqual ("<bar@example.com>", server.rcpt_to);
}
+
+ [Test]
+ public void Deliver_Envelope ()
+ {
+ var server = new SmtpServer ();
+ var client = new SmtpClient ("localhost", server.EndPoint.Port);
+ var msg = new MailMessage ("foo@example.com", "bar@example.com", "hello", "howdydoo\r\n");
+
+ msg.Sender = new MailAddress ("baz@example.com");
+
+ Thread t = new Thread (server.Run);
+ t.Start ();
+ client.Send (msg);
+ t.Join ();
+
+ Assert.AreEqual ("<baz@example.com>", server.mail_from);
+ Assert.AreEqual ("<bar@example.com>", server.rcpt_to);
+ }
+
+ [Test]
+ public void Deliver_Async ()
+ {
+ var server = new SmtpServer ();
+ var client = new SmtpClient ("localhost", server.EndPoint.Port);
+ var msg = new MailMessage ("foo@example.com", "bar@example.com", "hello", "howdydoo\r\n");
+
+ Thread t = new Thread (server.Run);
+ t.Start ();
+ var task = client.SendMailAsync (msg);
+ t.Join ();
+
+ Assert.AreEqual ("<foo@example.com>", server.mail_from);
+ Assert.AreEqual ("<bar@example.com>", server.rcpt_to);
+
+ task.Wait (10);
+
+ Assert.IsTrue (task.IsCompleted, "task");
+ }
+
}
}
-#endif