private void RetrievePOP3Mail() { EmailsToRead = ""; using (var client = new Pop3Client()) { // accept all SSL certificates (in case the server supports STARTTLS) client.ServerCertificateValidationCallback = (s, c, h, e) => true; //Console.WriteLine("Connecting to MailServer" + GetString(Resource.String.GDSSEMailServerHost) +" port 995"); //Toast.MakeText(this, "Email Sync: Authenticating to Server", ToastLength.Long).Show(); client.Connect(GetString(Resource.String.GDSSEMailServerHost), int.Parse(GetString(Resource.String.GDSSEMailServerPort)), true); // Note: since we don't have an OAuth2 token, disable // the XOAUTH2 authentication mechanism. client.AuthenticationMechanisms.Remove("XOAUTH2"); client.Authenticate(GetString(Resource.String.GDSSEMailAccount), GetString(Resource.String.GDSSEMailPwd)); var emails = new List <EmailObject>(); DBManagerHelper dbmgr = new DBManagerHelper(this); DatabaseUpdates tblEmail = new DatabaseUpdates(); //var tblEmail = new EmailEntity(); //Toast.MakeText(this, "Email Sync: Downloading Emails", ToastLength.Long).Show(); //for testing purpose only / clearing of table. if (int.Parse(GetString(Resource.String.TestDeleteEmailsOn)) == 1) { tblEmail.ClearMail(); } for (int i = client.Count - 1; i >= 0; i--) { var message = new MimeMessage(); try { message = client.GetMessage(i); } catch (Exception ex) { Console.WriteLine(ex.Source + " || " + ex.Message); } if (!tblEmail.IsEmailExist(message.MessageId)) { var curemail = new EmailObject(message.MessageId, message.From.ToString(), message.Subject, message.TextBody, message.Cc.ToString(), DateTime.Parse(message.Date.ToString())); try { tblEmail.AddEmail(new EmailEntity { EmailID = curemail.EmailID ?? "0", EmailFrom = curemail.From, EmailCC = curemail.CC, EmailDate = curemail.date, EmailSubject = curemail.Subject, EmailBody = curemail.Body }); } catch (Exception ex) { Console.WriteLine(ex.Source + "||" + ex.Message); } } } client.Disconnect(true); dbmgr.Close(); } }