/// <summary> /// When task is started mail will be sent asynchronously /// </summary> /// <param name="body"></param> /// <param name="sub"></param> /// <param name="to"></param> /// <param name="isHtml"></param> /// <param name="send"></param> /// <param name="NotifyDeveloper"></param> /// <param name="NotifyAdmin"></param> /// <returns></returns> public Task QuickMail(string body, string sub, string to = "", bool isHtml = true, bool send = true, bool NotifyDeveloper = false, bool NotifyAdmin = false) { Task t = new Task(() => { var mail = new MailMessage(); mail.Subject = sub; mail.Body = body; mail.IsBodyHtml = isHtml; if (send) { if (to != "" && to != null) { mail.To.Add(to); } if (NotifyAdmin && Config.AdminEmail != null) { mail.To.Add(Config.AdminEmail); } if (NotifyDeveloper && Config.DeveloperEmail != null) { mail.To.Add(Config.DeveloperEmail); } } mail.SendAsync(); }); if (send) { t.Start(); } return t; }
public void SendAsync() { var token = new object(); // Type var @this = new MailMessage("*****@*****.**", "*****@*****.**", "Fizz", "Buzz"); // Examples @this.SendAsync(token); // Send a mail async }
public void should_send_async_and_call_back() { var message = new MailMessage("*****@*****.**", "*****@*****.**", "subject", "body"); var wait = new ManualResetEvent(false); message.SendAsync((x,client)=> { Assert.AreEqual("test1State", x); Trace.WriteLine(x); wait.Set(); } , "test1State"); var result = wait.WaitOne(TimeSpan.FromSeconds(2)); Assert.IsTrue(result); }
/// <summary> /// Calls SetMailDefaults first. /// </summary> /// <param name="mail"></param> /// <param name="subject"></param> /// <param name="to"></param> public void Send(MailMessage mail, string subject = "", string to = "") { mail = SetMailDefaults(mail); if (subject != null && subject == "") { mail.Subject = subject; } if (to != null && to != "") { mail.To.Add(to); } try { new Thread(() => { if (SEND_ASY) mail.SendAsync(); else mail.Send(); }).Start(); } catch (Exception) { } }
public void should_send_async() { var message = new MailMessage("*****@*****.**", "*****@*****.**", "subject", "body"); message.SendAsync(); }