// Token: 0x06000B31 RID: 2865 RVA: 0x00048204 File Offset: 0x00046404 private static void EnsureJunkEmailRule(MailboxSession session, MapiEvent mapiEvent) { if (session == null) { throw new ArgumentNullException("session"); } if (mapiEvent == null) { throw new ArgumentNullException("mapiEvent"); } if (!session.Capabilities.CanHaveJunkEmailRule) { JunkEmailOptionsAssistant.Tracer.TraceDebug <Guid>(0L, "Skipping mailbox {0} because it can't have a junk e-mail rule. Possibly an alternate mailbox.", session.MailboxOwner.MailboxInfo.MailboxGuid); return; } JunkEmailOptionsAssistant.Tracer.TraceDebug <Guid>(0L, "Ensuring junk e-mail rule for mailbox {0}", session.MailboxOwner.MailboxInfo.MailboxGuid); StoreObjectId defaultFolderId = session.GetDefaultFolderId(DefaultFolderType.Inbox); StoreObjectId defaultFolderId2 = session.GetDefaultFolderId(DefaultFolderType.JunkEmail); if (defaultFolderId == null || defaultFolderId2 == null) { JunkEmailOptionsAssistant.Tracer.TraceDebug <Guid>(0L, "Cannot create junk e-mail rule for mailbox {0} because either the inbox or junk e-mail folder does not exist.", session.MailboxOwner.MailboxInfo.MailboxGuid); return; } if (JunkEmailOptionsAssistant.IsFolderCreationEvent(mapiEvent) && !JunkEmailOptionsAssistant.IsInboxOrJunkFolder(mapiEvent.ItemEntryId, defaultFolderId, defaultFolderId2)) { JunkEmailOptionsAssistant.Tracer.TraceDebug(0L, "Created folder is not Inbox or Junk E-mail folder. Skipping uninteresting event."); return; } JunkEmailRule.JunkEmailStatus junkEmailRuleStatus = session.GetJunkEmailRuleStatus(); if (junkEmailRuleStatus != JunkEmailRule.JunkEmailStatus.None) { return; } JunkEmailOptionsAssistant.Tracer.TraceDebug <Guid>(0L, "Creating and enabling junk e-mail rule for mailbox {0}.", session.MailboxOwner.MailboxInfo.MailboxGuid); JunkEmailRule junkEmailRule = session.JunkEmailRule; junkEmailRule.IsEnabled = true; junkEmailRule.Save(); }
private void CheckAndCreateJunkEmailRule(MailboxSession session) { if (session == null) { throw new ArgumentNullException("session"); } StoreObjectId defaultFolderId = session.GetDefaultFolderId(DefaultFolderType.Inbox); StoreObjectId defaultFolderId2 = session.GetDefaultFolderId(DefaultFolderType.JunkEmail); if (defaultFolderId == null || defaultFolderId2 == null) { this.WriteWarning(Strings.CannotCreateJunkEmailRule(this.Identity.ToString())); return; } if (session.GetJunkEmailRuleStatus() == JunkEmailRule.JunkEmailStatus.None) { JunkEmailRule filteredJunkEmailRule = session.FilteredJunkEmailRule; filteredJunkEmailRule.IsEnabled = true; filteredJunkEmailRule.Save(); base.WriteObject(Strings.CreatedJunkEmailRule(this.Identity.ToString()).ToString()); } }