Example #1
0
        public void RemoveDomain(string domain, bool withStorageClean = true)
        {
            if (withStorageClean)
            {
                ClearDomainStorageSpace(domain);
            }

            using (var db = new DbManager(_csName))
            {
                using (var tx = db.BeginTransaction(IsolationLevel.ReadUncommitted))
                {
                    var aliasDao = new AliasDao(db);

                    aliasDao.RemoveByDomain(domain);

                    var mailboxDao = new MailboxDao(db);

                    mailboxDao.RemoveByDomain(domain);

                    var domainDao = new DomainDao(db);

                    domainDao.Remove(domain);

                    var dkimDao = new DkimDao(db);

                    dkimDao.Remove(domain);

                    tx.Commit();
                }
            }
        }
Example #2
0
        public void ChangePassword(string username, string newPassword)
        {
            using (var db = new DbManager(_csName))
            {
                var mailboxDao = new MailboxDao(db);

                var res = mailboxDao.ChangePassword(username, newPassword);

                if (res < 1)
                {
                    throw new Exception(string.Format("Server mailbox \"{0}\" not found", username));
                }
            }
        }
Example #3
0
        public void SaveMailbox(Mailbox mailbox, Alias address, bool deliver = true)
        {
            using (var db = new DbManager(_csName))
            {
                using (var tx = db.BeginTransaction(IsolationLevel.ReadUncommitted))
                {
                    var mailboxDao = new MailboxDao(db);

                    mailboxDao.Save(mailbox, deliver);

                    var aliasDao = new AliasDao(db);

                    aliasDao.Save(address);

                    tx.Commit();
                }
            }
        }
Example #4
0
        public void RemoveMailbox(string address)
        {
            var mailAddress = new MailAddress(address);

            ClearMailboxStorageSpace(mailAddress.User, mailAddress.Host);

            using (var db = new DbManager(_csName))
            {
                using (var tx = db.BeginTransaction(IsolationLevel.ReadUncommitted))
                {
                    var mailboxDao = new MailboxDao(db);

                    mailboxDao.Remove(address);

                    var aliasDao = new AliasDao(db);

                    aliasDao.Remove(address);

                    tx.Commit();
                }
            }
        }