示例#1
0
        static void Main(string[] args)
        {            
            try {
                Console.WriteLine(
                    "HazyMail.NET, version {0} by Aurelien BOUDOUX." + Environment.NewLine +
                    "http://hazymail.boudoux.fr" + Environment.NewLine + Environment.NewLine, Assembly.GetEntryAssembly().GetName().Version.ToString(3));

                var p = new Parameters(args);
                var service = new CrossPlatformDnsService();

                foreach (var recipient in p.Recipients) {
                    try {
                        Console.Write("Sending email to {0}...", recipient.Email);
                        var message = MessageHelper.CreateMessage(p, recipient);                        
                        
                        var sender = new MailSender(service, p);
                        sender.SendMail(message);
                        
                        Console.WriteLine("OK");
                    }
                    catch (Exception ex) {
                        Console.WriteLine("Error : " + ex.Message);                        
                    }                    
                } 
            }
            catch (Exception ex) {
                Console.WriteLine(ex.Message);
                Environment.Exit(1);
            }            
        }
示例#2
0
        public void TestSimpleParameters()
        {
            var args = GetCommandArgument("-s TEST -sn \"Aurélien BOUDOUX\" -sa [email protected]");
            var parameters = new Parameters(args);

            Assert.AreEqual("TEST", parameters.Subject);
            Assert.AreEqual("Aurélien BOUDOUX", parameters.SenderName);
            Assert.AreEqual("*****@*****.**", parameters.SenderAddress);
        }
示例#3
0
 public void MultipleRecipientTest()
 {
     var args = GetCommandArgument("-ra \"Test account<*****@*****.**>;ROOT<*****@*****.**>\"");
     var param = new Parameters(args);
     Assert.AreEqual(2, param.Recipients.Count());
     Assert.IsTrue(param.Recipients.Any(a=>a.Name == "Test account"));
     Assert.IsTrue(param.Recipients.Any(a=>a.Name == "ROOT"));
     Assert.IsTrue(param.Recipients.Any(a => a.Email == "*****@*****.**"));
     Assert.IsTrue(param.Recipients.Any(a => a.Email == "*****@*****.**"));
 }
示例#4
0
 public void CreateMessageTest()
 {
     var param = new Parameters(ParameterTest.GetCommandArgument("-sn BOUDOUX -sa [email protected] -ra [email protected] -s TEST -b ok"));
     var message = MessageHelper.CreateMessage(param, param.Recipients.First());
     Assert.AreEqual("TEST", message.Subject);
     Assert.AreEqual(1, message.To.Count);
     Assert.AreEqual("*****@*****.**", message.To.First().Address);
     Assert.AreEqual("", message.To.First().DisplayName);
     Assert.AreEqual("ok", message.Body);
 }
示例#5
0
 public void CreateMessageWithAttachementTest()
 {
     using (var t = new TempFile(".txt")) {
         File.AppendAllText(t.FilePath, "ceci est un test");
         var param = new Parameters(ParameterTest.GetCommandArgument("-sn BOUDOUX -sa [email protected] -ra [email protected] -s TEST -b ok -a " + t.FilePath));
         var message = MessageHelper.CreateMessage(param, param.Recipients.First());
         Assert.AreEqual(1, message.To.Count);
         Assert.AreEqual("*****@*****.**", message.To.First().Address);
         Assert.AreEqual("", message.To.First().DisplayName);
         Assert.AreEqual("ok", message.Body);
         Assert.AreEqual(1,message.Attachments.Count);                
     }                       
 }
示例#6
0
 public void TestParamWitoutParameters2()
 {
     var args = GetCommandArgument("-s -ra");
     var param = new Parameters(args);
     Assert.AreEqual("", param.Subject);
     Assert.AreEqual(0, param.Recipients.Count());
 }
示例#7
0
 public void TestParamWitoutParameters()
 {
     var args = GetCommandArgument("-s");
     var param = new Parameters(args);
     Assert.AreEqual("", param.Subject);
 }
示例#8
0
 public void TestEnableSSl()
 {
     var args = GetCommandArgument("-ssl");
     var param = new Parameters(args);
     Assert.IsTrue(param.EnableSsl);
 }
示例#9
0
 public void TestParamBodyFile()
 {
     using (var tmp = new TempFile(".txt"))
     {
         File.WriteAllText(tmp.FilePath, "bonjour, je suis en train de faire un test");
         var args = GetCommandArgument("-b \""+tmp.FilePath+"\"");
         var param = new Parameters(args);
         Assert.AreEqual("bonjour, je suis en train de faire un test", param.Body);
     }
 }
示例#10
0
 public void TestParamBodyText()
 {
     var args = GetCommandArgument("-b \"ceci est un test de malade mental ! ! !\"");
     var param = new Parameters(args);
     Assert.AreEqual("ceci est un test de malade mental ! ! !", param.Body);
 }
示例#11
0
 public void CreateMessageWithAttachementErrorTest()
 {
     var param = new Parameters(ParameterTest.GetCommandArgument("-sn BOUDOUX -sa [email protected] -ra [email protected] -s TEST -b ok -a c:\\test_attachement.tes"));
 }
示例#12
0
 public void MultipleRecipientWithoutCommat()
 {
     var args = ParameterTest.GetCommandArgument("-ra \"Test account<*****@*****.**>ROOT<*****@*****.**>\"");
     var param = new Parameters(args);
     var message = MessageHelper.CreateMessage(param, param.Recipients.First());
 }