コード例 #1
0
        private void ListPermissions()
        {
            listACL.Items.Clear();

            hMailServer.IMAPFolderPermissions permissions = _folder.Permissions;

            for (int i = 0; i < permissions.Count; i++)
            {
                hMailServer.IMAPFolderPermission permission = permissions[i];

                ListPermission(permission);
            }

            Marshal.ReleaseComObject(permissions);
        }
コード例 #2
0
        private void ConfirmPublicFolders()
        {
            if (_backupMessages)
            {
                hMailServer.Domain domain = _application.Domains[0];

                hMailServer.IMAPFolders publicFolders = _application.Settings.PublicFolders;

                Assert.IsNotNull(publicFolders.get_ItemByName("Test1"));
                Assert.IsNotNull(publicFolders.get_ItemByName("Test2"));
                Assert.IsNotNull(publicFolders.get_ItemByName("Test3"));
                Assert.IsNotNull(publicFolders.get_ItemByName("ACL"));

                hMailServer.IMAPFolderPermissions permissions = publicFolders.get_ItemByName("ACL").Permissions;
                Assert.AreEqual(1, permissions.Count);

                hMailServer.Account account1 = domain.Accounts.get_ItemByAddress("*****@*****.**");

                hMailServer.IMAPFolderPermission permission = permissions[0];

                Assert.AreEqual(hMailServer.eACLPermissionType.ePermissionTypeUser, permission.PermissionType);
                Assert.AreEqual(account1.ID, permission.PermissionAccountID);

                Assert.IsTrue(permission.get_Permission(hMailServer.eACLPermission.ePermissionAdminister));
                Assert.IsTrue(permission.get_Permission(hMailServer.eACLPermission.ePermissionInsert));
                Assert.IsFalse(permission.get_Permission(hMailServer.eACLPermission.ePermissionRead));
                Assert.IsFalse(permission.get_Permission(hMailServer.eACLPermission.ePermissionWriteSeen));

                hMailServer.Group group1 = _application.Settings.Groups.get_ItemByName("ACLTestGroup");

                permissions = publicFolders.get_ItemByName("ACL").SubFolders.get_ItemByName("MySubFolder").Permissions;
                permission  = permissions[0];

                Assert.AreEqual(hMailServer.eACLPermissionType.ePermissionTypeGroup, permission.PermissionType);
                Assert.AreEqual(group1.ID, permission.PermissionGroupID);

                Assert.IsTrue(permission.get_Permission(hMailServer.eACLPermission.ePermissionLookup));
                Assert.IsTrue(permission.get_Permission(hMailServer.eACLPermission.ePermissionDeleteMailbox));
                Assert.IsFalse(permission.get_Permission(hMailServer.eACLPermission.ePermissionRead));
                Assert.IsFalse(permission.get_Permission(hMailServer.eACLPermission.ePermissionWriteSeen));
            }
        }