首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

邮件服务器

技术前沿 | Qmail | IMail | MDaemon | Exchange | Domino | 其它 | Foxmail | James | Kerio | JavaMail | WinMail | Sendmail | Postfix | Winwebmail | Merak | CMailServer | 邮件与开发 | 金笛 |
首页 > 邮件服务器 > Exchange Server > 获取Exchange邮箱容量限制的技巧 > 正文

获取Exchange邮箱容量限制的技巧

出处:赛迪网 作者:萧萧 时间:2010-11-18 13:53:08
 exchange用户的邮箱容量可以通过两种方式来设置:

  1,在AD管理器,每个用户的属性中可以设置.

  2,在exchange系统管理器,存储组属性上可以对存储组中的所有用户邮箱进行限制.

  这两种方式对用户的设置自然是方便了,但对我们编程获取邮箱限量却造成了很多麻烦.

  注: 公司的产品遇到了这个问题,绵延2年没解决,其间数次造访ms的技术支持,无果.汗~~~

  幸好,06年代码终于出来了.

  实现思路: 首先访问AD,看AD中有无设置,若无,则从AD中取出用户所在的exchange存储组路径,然后调用exchange系统管理的组件(必须在代码运行的机器上安装exchange系统管理),获取某个存储的邮箱容量限制。

以下是代码片段:
using System;
using System.Collections ;
using System.DirectoryServices;
//用户缓存
private static Hashtable _UserQuotaList = new Hashtable() ;
/// <summary>
/// 获取用户邮箱限量,缓存处理
/// @author:jianyi0115@163.com
/// </summary>
/// <param name="userAccount"></param>
/// <returns></returns>
public static int GetMailboxQuota( string userAccount )
{
if( _UserQuotaList.ContainsKey(userAccount) )
return Convert.ToInt32( _UserQuotaList[userAccount] ) ;
int limit = GetMailboxQuotaFromServer( userAccount );
_UserQuotaList.Add( userAccount , limit ) ;
return limit ;
}
/// <summary>
/// 从服务器获取用户邮箱限量
/// </summary>
/// <param name="userAccount"></param>
/// <returns></returns>
public static int GetMailboxQuotaFromServe( string userAccount )
{
string sEmailAddress =
userAccount + "@" + Config.MailDomain ;
//用户的邮件
// System.DirectoryServices.DirectoryEntry adsiTop =
// new System.DirectoryServices.DirectoryEntry
( "LDAP://xhdcpdom0001" ,"Centralism", "App1234");
System.DirectoryServices.DirectoryEntry adsiTop =
new System.DirectoryServices.DirectoryEntry
( Config.ADServerPath ,Config.ADAdministrator,
Config.ADAdministratorPassword );
System.DirectoryServices.DirectorySearcher
adsiSearcher = new DirectorySearcher(adsiTop);
adsiSearcher.Filter = "(mail="+sEmailAddress+")" ;
adsiSearcher.PropertiesToLoad.Add("mdboverhardquotalimit") ;
adsiSearcher.PropertiesToLoad.Add("homemdb") ;
adsiSearcher.PropertiesToLoad.Add("mdbusedefaults") ;
adsiSearcher.PropertiesToLoad.Add("msExchHomeServerName") ;
System.DirectoryServices.SearchResult adsiResult
= adsiSearcher.FindOne() ;
if( adsiResult == null )
{
adsiSearcher.Filter = "(anr=SMTP:" + sEmailAddress + ")" ;
adsiSearcher.PropertiesToLoad.Add("mdboverhardquotalimit") ;
adsiSearcher.PropertiesToLoad.Add("homemdb") ;
adsiSearcher.PropertiesToLoad.Add("mdbusedefaults") ;
adsiResult = adsiSearcher.FindOne();
}
if( adsiResult == null )
{
adsiSearcher.Dispose();
adsiTop.Dispose() ;
return 0 ;
} //使用默认设置
if( adsiResult.Properties["mdbusedefaults"] !
= null && adsiResult.Properties["mdbusedefaults"][0].
ToString().ToLower() == "true" )
{
string homeDb = adsiResult.Properties["homemdb"][0].ToString();
adsiSearcher.Dispose();
adsiTop.Dispose() ;
return GetHomeDbMailboxQuota( homeDb ) ;
}
//非默认设置 且AD设置为空
if( adsiResult.Properties["mdboverhardquotalimit"] == null )
{
string homeDb = adsiResult.Properties["homemdb"][0].ToString();
adsiSearcher.Dispose();
adsiTop.Dispose() ;
return GetHomeDbMailboxQuota( homeDb ) ;
}
else
{
string limit
= adsiResult.Properties["mdboverhardquotalimit"][0].ToString();
adsiSearcher.Dispose();
adsiTop.Dispose() ;
return Convert.ToInt32( limit );
}
}
private static Hashtable _HomeDbQuotaList = new Hashtable() ;
/// <summary>
/// 从获取exchange服务器存储组邮箱限量,缓存处理
/// </summary>
/// <param name="dn"></param>
/// <returns></returns>
static private int GetHomeDbMailboxQuota( string dn )
{
if( _HomeDbQuotaList.ContainsKey( dn ) )
return Convert.ToInt32( _HomeDbQuotaList[dn] ) ;
string path = Config.ADServerPath ;
if( !path.EndsWith( "/" ) )
path += "/";
path += dn ;
CDOEXM.MailboxStoreDB mdb =
new CDOEXM.MailboxStoreDBClass();
mdb.DataSource.Open( path , null,
ADODB.ConnectModeEnum.adModeRead,
ADODB.RecordCreateOptionsEnum.adFailIfNotExists ,
ADODB.RecordOpenOptionsEnum.adOpenSource,
Config.ADAdministrator, Config.ADAdministratorPassword );
int limit = mdb.HardLimit ;
mdb = null ;
try
{
_HomeDbQuotaList.Add( dn , limit ) ;
}
catch{}
return limit;
}

相关文章 热门文章
  • 如何在iPhone/iPod touch/iPad邮件应用程序Mail中使用QQ邮箱Exchange移动终端同步服务?
  • 如何在Android系统中使用QQ邮箱Exchange移动终端同步服务?
  • 如何在塞班S60系统中使用QQ邮箱Exchange移动终端同步服务?
  • Outlook 2003与Exchange 2010结合使用中可能出现的问题及建议的解决方法
  • 在配置完 Exchange Server 2010 CAS Array后需要做的两件事
  • 如何通过Exchange2010 OWA更改过期密码
  • Windows server 2008 R2上安装exchange 2010注意的问题
  • 关于Exchange数据库文件过大的正确处理方法
  • Exchange 2007 HUB服务器默认证书过期解决办法
  • Exchange 2010 SP1个人邮件归档配置
  • 邮件系统双雄PK: TurboMail vs Exchange
  • 利用Windows Server Backup备份Exchange 2010 DAG
  • Exchange 2000 Server 常见问题(四)
  • Exchange 2000 Server 常见问题(一)
  • Exchange 2000 Server 常见问题(三)
  • Exchange 2000 Server 常见问题(五)
  • Exchange 2000 Server 常见问题(二)
  • 部署Exchange Server 2003问题集(1)
  • Telnet到端口25以测试SMTP通信
  • 限制Exchange用户从Internet收发邮件
  • Exchange Server管理与设定(一)
  • 使用Exchange 2000 Server 构建多域名邮件系统
  • 虚拟内存碎片的检测和EXCHANGE的内存优化
  • Exchange Server 公用程序(一)
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号