private MessageCollection FetchMessages(string host, string login, string pass, string from, DateTime startDate, DateTime endDate) { var client = new ImapX.ImapClient(host, 993, true); client.Connection(); client.LogIn(login, pass); string imapQuery = string.Format("FROM \"{0}\" BEFORE {1} SINCE {2}", from, endDate.ToString("dd-MMM-yyyy", CultureInfo.InvariantCulture), startDate.ToString("dd-MMM-yyyy", CultureInfo.InvariantCulture)); var messages = client.Folders["INBOX"].Search(imapQuery, false); foreach (var m in messages) { m.Process(); } return(messages); }
public static List <Data.Entities.Email> getGMailEmail(string inboxPath, string username, string password) { List <Data.Entities.Email> emails = new List <Data.Entities.Email>(); Data.Entities.Email email = null; bool isHtml = true; ImapX.ImapClient client = new ImapX.ImapClient("imap.gmail.com", 993, true); bool result = false; result = client.Connection(); result = client.LogIn(username, password); if (result) { ImapX.FolderCollection folders = client.Folders; ImapX.MessageCollection messages = client.Folders["export"].Search("ALL", true); // .Search("export", true); //true - means all message parts will be received from server if (messages != null && messages.Count > 0) { for (int i = 0; i < messages.Count; i++) { email = new Data.Entities.Email(); email.From = messages[i].From.DisplayName; email.Subject = messages[i].Subject; email.TextBody = messages[i].GetDecodedBody(out isHtml); //email.TextBody = messages[i].TextBody.TextData; email.ReceivedDate = messages[i].Date; emails.Add(email); } } } return(emails); }
public static List<Data.Email> getGMailEmail(string inboxPath, string username, string password) { List<Data.Email> emails = new List<Data.Email>(); Data.Email email = null; bool isHtml = true; ImapX.ImapClient client = new ImapX.ImapClient("imap.gmail.com", 993, true); bool result = false; result = client.Connection(); result = client.LogIn(username, password); if (result) { ImapX.FolderCollection folders = client.Folders; ImapX.MessageCollection messages = client.Folders["export"].Search("ALL", true); // .Search("export", true); //true - means all message parts will be received from server if (messages != null && messages.Count > 0) { for (int i = 0; i < messages.Count; i++) { email = new Data.Email(); email.From = messages[i].From.DisplayName; email.Subject = messages[i].Subject; email.TextBody = messages[i].GetDecodedBody(out isHtml); //email.TextBody = messages[i].TextBody.TextData; email.ReceivedDate = messages[i].Date; emails.Add(email); } } } return emails; }