/// <summary> /// Starts messages fetching. /// </summary> public void StartFetching() { if (m_Fetching) { return; } m_Fetching = true; try { DataView dvUsers = m_pApi.GetUsers("ALL"); using (DataView dvServers = m_pApi.GetUserRemoteServers("")) { foreach (DataRowView drV in dvServers) { try { if (!ConvertEx.ToBoolean(drV["Enabled"])) { continue; } // Find user name from user ID string userName = ""; dvUsers.RowFilter = "UserID='" + drV["UserID"] + "'"; if (dvUsers.Count > 0) { userName = dvUsers[0]["UserName"].ToString(); } else { continue; } string server = drV.Row["RemoteServer"].ToString(); int port = Convert.ToInt32(drV.Row["RemotePort"]); string user = drV.Row["RemoteUserName"].ToString(); string passw = drV.Row["RemotePassword"].ToString(); bool useSSL = ConvertEx.ToBoolean(drV["UseSSL"]); // Connect and login to pop3 server using (POP3_Client clnt = new POP3_Client()) { clnt.Logger = new LumiSoft.Net.Log.Logger(); clnt.Logger.WriteLog += new EventHandler <WriteLogEventArgs>(Pop3_WriteLog); clnt.Connect(server, port, useSSL); clnt.Login(user, passw); foreach (POP3_ClientMessage message in clnt.Messages) { // Store message m_pServer.ProcessUserMsg("", "", userName, "Inbox", new MemoryStream(message.MessageToByte()), null); message.MarkForDeletion(); } } } catch { } } } m_LastFetch = DateTime.Now; } catch (Exception x) { Error.DumpError(m_pServer.Name, x); } m_Fetching = false; }