Exemple #1
0
        private List <MailSieveFilterData> GetFilters(EngineFactory factory, ILog log)
        {
            var user = factory.UserId;

            if (string.IsNullOrEmpty(user))
            {
                return(new List <MailSieveFilterData>());
            }

            try
            {
                if (Filters.ContainsKey(user))
                {
                    return(Filters[user]);
                }

                var filters = factory.FilterEngine.GetList();

                Filters.TryAdd(user, filters);

                return(filters);
            }
            catch (Exception ex)
            {
                log.Error("GetFilters failed", ex);
            }

            return(new List <MailSieveFilterData>());
        }
Exemple #2
0
        private void FreeTask(TaskData taskData, ICollection <TaskData> tasks)
        {
            try
            {
                _log.DebugFormat("End Task {0} with status = '{1}'.", taskData.Task.Id, taskData.Task.Status);

                if (!tasks.Remove(taskData))
                {
                    _log.Error("Task not exists in tasks array.");
                }

                var mailbox = taskData.Mailbox;

                ReleaseMailbox(mailbox);

                taskData.Task.Dispose();
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("FreeTask(id:'{0}', email:'{1}'): Exception:\r\n{2}\r\n", taskData.Mailbox.MailBoxId, taskData.Mailbox.EMail, ex.ToString());
            }
        }