public static void SendMail(MailInfo info) { string from = info.From; try { MailMessage message = new MailMessage(info.From, info.To) { Subject = info.Subject, BodyEncoding = Encoding.UTF8, Body = info.Body, IsBodyHtml = false, SubjectEncoding = Encoding.UTF8 }; SmtpClient client = new SmtpClient(); client.Send(message); logger.Info("Email sent to " + info.To); } catch (Exception ex) { logger.Error("Mail send exception " + ex.Message); } }
public static void ScheduleMessage(string to, string subject, string body, List<string> attachments, TimeSpan interval, int paperId, int stateId) { string from = Tools.ConfigurationResourcesHelper.GetResource("options", "EmailNotificationAddress"); string id = paperId + "_" + stateId + "_" + Guid.NewGuid().ToString(); MailInfo mail = new MailInfo(subject, body, attachments, from, to, Convert.ToInt32(interval.TotalHours), paperId, stateId, id); string cronString = String.Empty; cronString = Cron.Daily(12); //cronString = Cron.Minutely(); //not implemented interval RecurringJob.AddOrUpdate(id, () => MailSender.SendMail(mail), cronString); RecurringJob.Trigger(id); }
public static void ScheduleMessage(MailInfo mail) { string from = Tools.ConfigurationResourcesHelper.GetResource("options", "EmailNotificationAddress"); string id = mail.PaperId + "_" + mail.StateId + "_" + Guid.NewGuid().ToString(); mail.Id = id; mail.From = from; string cronString = String.Empty; cronString = Cron.Daily(12); //cronString = Cron.Minutely(); //not implemented interval //string serializedMail = MailInfo.SerializeVersionToXmlString(mail); RecurringJob.AddOrUpdate(id, () => MailSender.SendMail(mail), cronString); RecurringJob.Trigger(id); }
public static string SerializeVersionToXmlString(MailInfo info) { XmlSerializer serializer = new XmlSerializer(typeof(MailInfo)); using (MemoryStream stream = new MemoryStream()) { serializer.Serialize(stream, info); return System.Text.Encoding.Default.GetString(stream.ToArray()); } }