邮件服务器-邮件系统-邮件技术论坛(BBS)

标题: exchange开发问题一则 [打印本页]

作者: ypmssys    时间: 2005-9-5 18:05
标题: exchange开发问题一则
为了便于管理,为管理员开发一套exchange web管理器。<br>
但是遇到如下问题:<br>
<br>
如何禁用/启用一个用户邮箱?<br>
个人以为通过 “ CDOEXM.IMailboxStoreDB ” 中的 “enable 或 mount” 可以实现,但是搞不懂如何与某个用户的mailstore挂接。<br>
<br>
目前我是通过把用户邮箱容量设为0KB来达到目的,但这并不可取。<br>
还请高人指点,多谢多谢!<br>
<br>
本人原用户名fengyidu,结果密码不见了,sorry!<br>
希望5dmail可以通过注册mail找回密码,这样更方便。多谢!<br>

作者: ypmssys    时间: 2005-9-5 18:14
标题: re:补充说明:系统为c# web appli...
补充说明:系统为c# web application,还请高手给个小例子
作者: ququ    时间: 2005-9-5 20:25
标题: re:参考一下这个http://www...
参考一下这个<br>
<br>
<a target=_blank href=../Announce/announce.asp?BoardID=35&ID=15411>../Announce/announce.asp?BoardID=35&ID=15411</a>
作者: 钉子    时间: 2005-9-6 00:27
标题: re:本人原用户名fengyidu,结果密码不...
本人原用户名fengyidu,结果密码不见了,sorry!<br>
希望5dmail可以通过注册mail找回密码,这样更方便。多谢!<br>
---请论坛短信告诉我你这个用户的注册的MAIL.我帮你改一下密码..
作者: ququ    时间: 2005-9-6 15:30
标题: re:呵,管理的开发?管理用户以及权限?帮你顶
呵,管理的开发?管理用户以及权限?帮你顶
作者: ypmssys    时间: 2005-9-6 15:37
标题: re:可能是我没有表达清楚,sorry!我...
可能是我没有表达清楚,sorry!<br>
我的意思是不删除用户邮箱,但是停止他的使用权利,等同于在ad管理里面禁用一个exchange用户的某个协议或服务,有插图如下:<br>
<IMG onmouseover="javascript:if(this.width>520)this.width=520;" src="http://www.winmag.com.cn/forum/showimg.asp?ID=25192" onload="javascript:if(this.width>520)this.width=520;" align=absmiddle border=0><br>
<br>
我就是想获取这个禁用/启用的功能。<br>
<br>
多谢!
作者: yinjie    时间: 2005-9-6 15:44
标题: re:这个是用户的属性,可以从用户属性里提取并...
这个是用户的属性,可以从用户属性里提取并修改。具体属性值可参考ADSI资料。我手边暂时没有。但是你即使全部禁用了以上内容,我仍可以用MAPI访问邮箱。这没有意义
作者: yinjie    时间: 2005-9-6 16:25
标题: re:DISMOUNT是对MAILBOXSTO...
DISMOUNT是对MAILBOXSTORE的操作,不是MAILBOX。看清楚~OUTLOOK的MAPI访问在用户属性里是禁止不掉的。只可以通过修改服务器注册表禁止MAPI客户端连接。OWA、POP3和IMAP4可以关闭。SPS是用什么访问邮箱的要依据你的程序设计。多看看MSDN的EXCHANGE SDK,其中有说明
作者: yinjie    时间: 2005-9-6 18:40
标题: re:http://msdn.microsof...
<a target=_blank href=http://msdn.microsoft.com/library/en-us/e2k3/e2k3/_cdo_disabling_a_mail_recipient.asp>http://msdn.microsoft.com/library/en-us/e2k3/e2k3/_cdo_disabling_a_mail_recipient.asp</a><br>
<br>
Disabling a Mail Recipient <br>
<br>
--------------------------------------------------------------------------------<br>
<br>
Call the IMailRecipient.MailDisable method to disable a mail recipient. The IMailRecipient interface is aggregated onto the Person object. <br>
<a target=_blank href=http://msdn.microsoft.com/library/en-us/e2k3/e2k3/_cdo_imailrecipient_maildisable.asp>http://msdn.microsoft.com/library/en-us/e2k3/e2k3/_cdo_imailrecipient_maildisable.asp</a><br>
<br>
To enable immediate logon for new recipients, your application can set the msExchUserAccountControl Microsoft Active Directory object on the user object. Set the object value to 0 to enable the user logon. This is the same object and value set by the Recipient Update Service. Setting the msExchUserAccountControl object value to 2 disables the account and prevents the user from logging on. <br>
<br>

作者: ypmssys    时间: 2005-9-9 09:38
标题: re:thanks a lot !获益匪浅...
thanks a lot !<br>
获益匪浅!<br>
<br>
感谢版主这么热心,谢谢!
作者: ypmssys    时间: 2005-9-9 11:27
标题: re:厚着脸皮继续追问当我使用这个函数...
厚着脸皮继续追问<br>
<br>
当我使用这个函数禁止某个用户使用邮箱的时候,出现了错误<br>
<br>
//函数源码 begin<br>
public static void StopExchangeAccount(string userName) <br>
{ <br>CDO.Person oPerson;<br>CDOEXM.IMailRecipient oRecipient;<br>string strEmailAddress = "MAILTO:"+userName+"@ppptest.com";<br>oPerson = new CDO.PersonClass();<br>
<br>oPerson.DataSource.Open(strEmailAddress,<br>null,<br>ADODB.ConnectModeEnum.adModeRead,<br>ADODB.RecordCreateOptionsEnum.adFailIfNotExists,<br>ADODB.RecordOpenOptionsEnum.adOpenSource,<br>String.Empty,<br>String.Empty<br>);<br>oRecipient = (CDOEXM.IMailRecipient)oPerson;<br>oRecipient.MailDisable();<br>oPerson.DataSource.Save();<br>
}<br>
//函数源码 end<br>
<br>
//错误如下<br>
<br>
无法删除此用户的电子邮件地址,因为此用户具有邮箱。 ID 号: c1034a09 Microsoft CDO for Exchange Management <br>
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 <br>
<br>
异常详细信息: System.Runtime.InteropServices.COMException: 无法删除此用户的电子邮件地址,因为此用户具有邮箱。 ID 号: c1034a09 Microsoft CDO for Exchange Management <br>
<br>
源错误: <br>
行 274: oRecipient.MailDisable();<br>
<br>
源文件: c:\inetpub\wwwroot\webapplication11\exchangeaccount.cs 行: 274 <br>
<br>
<br>
<br>
堆栈跟踪: <br>
<br>
[COMException (0x8000ffff): 无法删除此用户的电子邮件地址,因为此用户具有邮箱。<br>
<br>
ID 号: c1034a09<br>
Microsoft CDO for Exchange Management<br>
]<br>CDOEXM.IMailRecipient.MailDisable() +0<br>WebApplication11.ExchangeAccount.StopExchangeAccount(String adminName, String adminPassword, String userName, String organizeName) in c:\inetpub\wwwroot\webapplication11\exchangeaccount.cs:274<br>WebApplication11.WebForm1.Button2_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\webapplication11\webform1.aspx.cs:321<br>System.Web.UI.WebControls.Button.onClick(EventArgs e)<br>System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)<br>System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)<br>System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)<br>System.Web.UI.Page.ProcessRequestMain()
作者: yinjie    时间: 2005-9-9 13:51
标题: re:http://msdn.microsof...
<a target=_blank href=http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_cdo_disabling_a_mail_recipient.asp>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/e2k3/e2k3/_cdo_disabling_a_mail_recipient.asp</a>




欢迎光临 邮件服务器-邮件系统-邮件技术论坛(BBS) (http://bbs.5dmail.net/) Powered by Discuz! X3.2