Exemple #1
0
        private void SetTrustedList(MailboxJunkEmailConfiguration o, JunkEmailRule rule)
        {
            MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationTuple junkEmailValidationTuple = this.SetList(o.TrustedSendersAndDomains, rule.TrustedSenderEmailCollection, rule.TrustedSenderDomainCollection);
            if (junkEmailValidationTuple.Problem == MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsGood)
            {
                junkEmailValidationTuple = this.SetList(o.TrustedSendersAndDomains, rule.TrustedRecipientEmailCollection, rule.TrustedRecipientDomainCollection);
            }
            LocalizedString localizedString = LocalizedString.Empty;

            switch (junkEmailValidationTuple.Problem)
            {
            case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsUsersEmailOrDomain:
                localizedString = ServerStrings.JunkEmailTrustedListOwnersEmailAddressException(junkEmailValidationTuple.Address);
                goto IL_EB;

            case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsInternalToOrganization:
                localizedString = ServerStrings.JunkEmailTrustedListInternalToOrganizationException(junkEmailValidationTuple.Address);
                goto IL_EB;

            case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsDuplicate:
                localizedString = ServerStrings.JunkEmailTrustedListXsoDuplicateException(junkEmailValidationTuple.Address);
                goto IL_EB;

            case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsEmpty:
                localizedString = ServerStrings.JunkEmailTrustedListXsoEmptyException;
                goto IL_EB;

            case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsMalformatted:
                localizedString = ServerStrings.JunkEmailTrustedListXsoFormatException(junkEmailValidationTuple.Address);
                goto IL_EB;

            case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsNull:
                localizedString = ServerStrings.JunkEmailTrustedListXsoNullException;
                goto IL_EB;

            case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsTooBig:
                localizedString = ServerStrings.JunkEmailTrustedListXsoTooBigException(junkEmailValidationTuple.Address);
                goto IL_EB;

            case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsFull:
                localizedString = ServerStrings.JunkEmailTrustedListXsoTooManyException;
                goto IL_EB;

            case MailboxJunkEmailConfigurationDataProvider.JunkEmailValidationProblem.IsGood:
                goto IL_EB;
            }
            localizedString = ServerStrings.JunkEmailTrustedListXsoGenericException(junkEmailValidationTuple.Address);
IL_EB:
            if (localizedString != LocalizedString.Empty)
            {
                PropertyValidationError propertyValidationError = new PropertyValidationError(localizedString, MailboxJunkEmailConfigurationSchema.TrustedSendersAndDomains, o.TrustedSendersAndDomains);
                throw new PropertyValidationException(localizedString.ToString(), propertyValidationError.PropertyDefinition, new PropertyValidationError[]
                {
                    propertyValidationError
                });
            }
        }
Exemple #2
0
        protected override void InternalSave(ConfigurableObject instance)
        {
            if (this.Session == null)
            {
                throw new DataSourceOperationException(ServerStrings.JunkEmailInvalidConstructionException);
            }
            this.TestForJunkEmailFolder();
            MailboxJunkEmailConfiguration o = (MailboxJunkEmailConfiguration)instance;
            JunkEmailRule junkEmailRule     = base.MailboxSession.JunkEmailRule;

            this.PrepareJunkEmailRule(o, junkEmailRule);
            this.SaveRule(junkEmailRule);
        }
Exemple #3
0
        protected override IEnumerable <T> InternalFindPaged <T>(QueryFilter filter, ObjectId rootId, bool deepSearch, SortBy sortBy, int pageSize)
        {
            this.TestArguments <T>(filter, rootId);
            JunkEmailRule rule = base.MailboxSession.JunkEmailRule;
            MailboxJunkEmailConfiguration configuration = (MailboxJunkEmailConfiguration)((object)((default(T) == null) ? Activator.CreateInstance <T>() : default(T)));

            configuration.MailboxOwnerId           = base.MailboxSession.MailboxOwner.ObjectId;
            configuration.Enabled                  = rule.IsEnabled;
            configuration.ContactsTrusted          = rule.IsContactsFolderTrusted;
            configuration.TrustedListsOnly         = rule.TrustedListsOnly;
            configuration.TrustedSendersAndDomains = this.CompileTrusted(rule);
            configuration.BlockedSendersAndDomains = this.CompileBlocked(rule);
            yield return((T)((object)configuration));

            yield break;
        }
Exemple #4
0
 private void PrepareJunkEmailRule(MailboxJunkEmailConfiguration o, JunkEmailRule rule)
 {
     rule.IsEnabled        = o.Enabled;
     rule.TrustedListsOnly = o.TrustedListsOnly;
     if (o.ContactsTrusted)
     {
         rule.SynchronizeContactsCache();
     }
     else
     {
         rule.ClearContactsCache();
     }
     this.SynchronizeTrustedLists(rule);
     this.SetBlockedList(o, rule);
     this.SetTrustedList(o, rule);
 }