public void InitCredential() { _searchCondition = new SearchCondition(); SearchCondition condition = null; if (!string.IsNullOrEmpty(Senders)) { List <string> mSenders = Senders.Split(';').ToList(); condition = SearchCondition.From(mSenders[0]); for (int i = 1; i < mSenders.Count; i++) { string sender = mSenders[i]; if (string.IsNullOrEmpty(sender)) { continue; } condition = condition.Or(SearchCondition.From(sender)); } } SearchCondition conditionSubject = null; if (!string.IsNullOrEmpty(Subjects)) { List <string> mSubjects = Subjects.Split(';').ToList(); conditionSubject = SearchCondition.Subject(mSubjects[0]); for (int i = 1; i < mSubjects.Count; i++) { string sub = mSubjects[i]; if (string.IsNullOrEmpty(sub)) { continue; } conditionSubject = conditionSubject.Or(SearchCondition.Subject(sub)); } } _searchCondition = SearchCondition.Unseen(); if (condition != null) { _searchCondition = _searchCondition.And(condition); } if (conditionSubject != null) { _searchCondition = _searchCondition.And(conditionSubject); } try { if (_email != null) { _email.Logout(); } } catch { } try { if (!string.IsNullOrEmpty(Credential.UserName) && !string.IsNullOrEmpty(Credential.Host)) { _email = new ImapClient(Credential.Host, Credential.Port, Credential.UserName, Credential.Password, AuthMethod.Login, Credential.Ssl); } } catch (Exception ex) { Console.Write(ex.Message); throw ex; } }