/// <summary> /// Sends the email /// </summary> /// <param name="site"></param> /// <param name="to"></param> /// <param name="subject"></param> /// <param name="body"></param> public static void SendEmail(string to, string subject, string body, bool queue = true, Nancy.NancyContext ctx = null) { if (_Outbox == null) { _Outbox = new ConcurrentQueue <MailMessage>(); } if (string.IsNullOrEmpty(to)) { System.Diagnostics.Debugger.Break(); return; } MailMessage mail = new MailMessage(); mail.To.Add(to); mail.Subject = subject; mail.Body = body; mail.IsBodyHtml = true; _Outbox.Enqueue(mail); if (queue == false) { if (ctx == null) { throw new InvalidOperationException("Context is required"); } MailSenderModule.ProcessQueue(ctx); } }
public void Hook(IPipelines p) { p.AfterRequest.AddItemToEndOfPipeline((ctx) => { MailSenderModule.ProcessQueue(ctx); }); }