public IEnumerable <IEMailMessageI> GetReadMailMessages(IMailRequestI mailRequest) { var mailMessages = new List <IEMailMessageI>(); using (ImapClient client = new ImapClient()) { client.Connect(MailReadersSettingsModule.Settings.IMAP, MailReadersSettingsModule.Settings.IMAPport, SecureSocketOptions.SslOnConnect); client.Authenticate(MailReadersSettingsModule.Settings.Login, MailReadersSettingsModule.Settings.Password); IMailFolder inbox = client.Inbox; inbox.Open(FolderAccess.ReadOnly); var uids = inbox.Search(SearchQuery.Seen); foreach (var item in uids) { var message = inbox.GetMessage(item); var mailMessage = EntityManager <IEMailMessageI> .Instance.Create(); mailMessage.Name = DateTime.Now.ToString(); mailMessage.CreationDate = DateTime.Now; mailMessage.Tema = message.Subject; mailMessage.Soobschenie = message.HtmlBody; mailMessage.DataPolucheniePisjma = message.Date.UtcDateTime; mailMessage.OtKogo = message.From.FirstOrDefault().Name; mailMessage.Save(); mailMessages.Add(mailMessage); } } return(mailMessages.AsEnumerable()); }
public void RunProcessesMailMassages(IMailRequestI mailRequest) { if (MailReadersSettingsModule.Settings.MailProcess != null) { if (MailReadersSettingsModule.Settings.MailProcess.Published != null) { WorkflowInstanceManager.Instance.StartProcess( MailReadersSettingsModule.Settings.MailProcess.Published, "Процесс обработки писем от " + DateTime.Today.ToString(), new { Request = mailRequest }); } } }
public IEnumerable <IEMailMessageI> GetUnreadMailMessages(IMailRequestI mailRequest) { var mailMessages = new List <IEMailMessageI>(); using (ImapClient client = new ImapClient()) { client.Connect(MailReadersSettingsModule.Settings.IMAP, MailReadersSettingsModule.Settings.IMAPport, SecureSocketOptions.SslOnConnect); client.Authenticate(MailReadersSettingsModule.Settings.Login, MailReadersSettingsModule.Settings.Password); IMailFolder inbox = client.Inbox; inbox.Open(FolderAccess.ReadOnly); var uids = inbox.Search(SearchQuery.NotSeen); foreach (var item in uids) { var message = inbox.GetMessage(item); var mailMessage = EntityManager <IEMailMessageI> .Instance.Create(); ExecuteEmailMessage(message, mailMessage); mailMessages.Add(mailMessage); } } return(mailMessages.AsEnumerable()); }