private void DeleteEmails() { foreach (var account in LoadAccounts()) { _logger.InfoFormat("Deleting emails from account: {0}", account.User); using (var client = new Pop3()) { client.Connect(_popHost, _popPort, _popUseSsl); client.UseBestLogin(account.User, account.Password); var stats = client.GetAccountStat(); long loopLimit = _batchSizePerAccount; if (stats.MessageCount < loopLimit) loopLimit = stats.MessageCount; for (var i = 1; i <= loopLimit; i++) { var email = new MailBuilder().CreateFromEml(client.GetMessageByNumber(i)); if(email.Date.HasValue && DateTime.Now.Subtract(email.Date.Value).TotalDays > _deleteEmailsOlderThanDays) { client.DeleteMessageByNumber(i); } } } } }