public static List<SourcedAdoNetLog> ImapGetLogEmails(int numEmails = 50, string email = "*****@*****.**", string pass = "******") { var client = new ImapX.ImapClient("imap.gmail.com", 993, true); client.Connect(); client.Login(email, pass); var messages = client.Folders["INBOX"].Search("ALL", MessageFetchMode.Body, numEmails); List<SourcedAdoNetLog> allLogs = new List<SourcedAdoNetLog>(); foreach (var imapMessage in messages) { var message = imapMessage.Body.Text; try { var json = message.FromJson<AdoNetLog>(); SourcedAdoNetLog srcLog = new SourcedAdoNetLog { Source = email, Date = json.Date, Level = json.Level, Logger = json.Logger, Message = json.Message, Exception = json.Exception, }; allLogs.Add(srcLog); } catch (Exception e) { Log.Error(String.Format("Failed to parse an AdoNetLog out from the following email body:\n{0}", message), e); } } return allLogs; }
private void ReloadMessages() { imap.SelectFolder(foldersTreeView.SelectedNode.Text); totalNumberToolStripStatusLabel.Text = imap.GetMessageCount().ToString(); unseenNumberToolStripStatusLabel.Text = imap.GetUnseenMessageCount().ToString(); var list = imap.GetListMessages(); var messages = new List <string>(); foreach (var item in list) { //messages.Add(imap.GetMessage(item.Value)); } _logger.Add(messages); maillistDataGridView.Rows.Clear(); // f*****g unsafe!! _client = new ImapX.ImapClient(settings.IMAPServer, Convert.ToInt32(settings.IMAPPort), settings.IMAPSSL, validateServerCertificate: true); _client.Behavior.AutoPopulateFolderMessages = true; if (_client.Connect()) { if (_client.Login(settings.Username, settings.Password)) { var folderName = foldersTreeView.SelectedNode.Text; if (folderName == (string)Properties.Resources.ResourceManager.GetObject("Inbox", CultureInfo.CurrentCulture)) { folderName = "INBOX"; } _messages = _client.Folders[folderName].Search(); maillistDataGridView.Rows.Clear(); foreach (var item in _messages) { maillistDataGridView.Rows.Add(item.UId.ToString(), item.Subject, item.From.Address); System.IO.Directory.CreateDirectory(folderPath); foreach (var file in item.Attachments) { file.Download(); file.Save(folderPath); } } } } }
private int polaczZMailem() { if (zalogowanyNauczyciel.Email.Length == 0) { return(-1); } ImapX.ImapClient klient = new ImapX.ImapClient("imap.gmail.com", 993, true, true); bool result = klient.Connect(); if ((t_loginMail.Text.Length == 0) || (t_hasloMail.Text.Length == 0)) { return(-1); } if (result) { return(Convert.ToInt32(klient.Login(t_loginMail.Text + @"@gmail.com", t_hasloMail.Text))); } else { return(-1); } }