public async void Refresh() { await Task.Run(() => { /*Refresh (count message and compare with database*/ /*Save new mail to DB*/ ManageDB.RemoveMail(con); System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); var mails = new List <Mail>(); MessagePart plainTextPart = null, HTMLTextPart = null; string pattern = @"[A-Za-z0-9]*[@]{1}[A-Za-z0-9]*[.\]{1}[A-Za-z]*"; int a = 0; foreach (var msg in Manage.Receive()) { //Check you message is not null if (msg != null) { plainTextPart = msg.FindFirstPlainTextVersion(); //HTMLTextPart = msg.FindFirstHtmlVersion(); //mail.Html = (HTMLTextPart == null ? "" : HTMLTextPart.GetBodyAsText().Trim()); ManageDB.AddMailToDB( new Mail { From = Regex.Match(msg.Headers.From.ToString(), pattern).Value, Subject = msg.Headers.Subject, Date = msg.Headers.DateSent.ToString(), msg = (plainTextPart == null ? "" : plainTextPart.GetBodyAsText().Trim()), Attachment = msg.FindAllAttachments(), Reference = a += 1 }, con); //if mails ! DB ajouter } } }); DisplayData(ManageDB.DBTOLIST(con), false); }
public async void load(int numberMail) { IProgress <int> progress = new Progress <int>(value => { progressBar1.Value = value; }); progressBar1.Visible = true; progressBar1.Minimum = 0; progressBar1.Step = 1; Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance); var client = new Pop3Client(); client.Connect("pop.gmail.com", 995, true); client.Authenticate("recent:[email protected]", "vnfkfkxlcgpnebra"); List <string> uids = client.GetMessageUids(); List <OpenPop.Mime.Message> AllMsgReceived = new List <OpenPop.Mime.Message>(); SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\Alexandre\Source\Repos\MailApplication\MailManager\DB\database1.mdf;Integrated Security=True"); ManageDB.RemoveMail(con); List <string> seenUids = new List <string>(); int messageCount = client.GetMessageCount(); progressBar1.Maximum = numberMail; await Task.Run(() => { firstkeer = false; for (int i = messageCount; i >= (messageCount - numberMail); i--) { progress.Report(messageCount - i); OpenPop.Mime.Message unseenMessage = client.GetMessage(i); AllMsgReceived.Add(unseenMessage); } var mails = new List <Mail>(); MessagePart plainTextPart = null, HTMLTextPart = null; string pattern = @"[A-Za-z0-9]*[@]{1}[A-Za-z0-9]*[.\]{1}[A-Za-z]*"; int a = 0; foreach (var msg in AllMsgReceived) { //Check you message is not null if (msg != null) { plainTextPart = msg.FindFirstPlainTextVersion(); //HTMLTextPart = msg.FindFirstHtmlVersion(); //mail.Html = (HTMLTextPart == null ? "" : HTMLTextPart.GetBodyAsText().Trim()); //ajouter au serveur //mails.Add(new Mail { From = Regex.Match(msg.Headers.From.ToString(), pattern).Value, Subject = msg.Headers.Subject, Date = msg.Headers.DateSent.ToString(), msg = (plainTextPart == null ? "" : plainTextPart.GetBodyAsText().Trim()), Attachment = msg.FindAllAttachments() }); ManageDB.AddMailToDB( new Mail { From = Regex.Match(msg.Headers.From.ToString(), pattern).Value, Subject = msg.Headers.Subject, Date = msg.Headers.DateSent.ToString(), msg = (plainTextPart == null ? "" : plainTextPart.GetBodyAsText().Trim()), Attachment = msg.FindAllAttachments(), Reference = a += 1 }, con); } } ManageDB.AddNewContact(con); //LoadApp.mail = mails; successLoad = true; }); label1.Text = ""; button1.Show(); }