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

 找回密码
 会员注册
查看: 3602|回复: 11
打印 上一主题 下一主题

exchange开发问题一则

[复制链接]
跳转到指定楼层
顶楼
发表于 2005-9-5 18:05:13 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
为了便于管理,为管理员开发一套exchange web管理器。<br>
但是遇到如下问题:<br>
<br>
如何禁用/启用一个用户邮箱?<br>
个人以为通过 “ CDOEXM.IMailboxStoreDB ” 中的 “enable 或 mount” 可以实现,但是搞不懂如何与某个用户的mailstore挂接。<br>
<br>
目前我是通过把用户邮箱容量设为0KB来达到目的,但这并不可取。<br>
还请高人指点,多谢多谢!<br>
<br>
本人原用户名fengyidu,结果密码不见了,sorry!<br>
希望5dmail可以通过注册mail找回密码,这样更方便。多谢!<br>
12
发表于 2005-9-9 13:51:50 | 只看该作者

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>
11
 楼主| 发表于 2005-9-9 11:27:45 | 只看该作者

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()
10
 楼主| 发表于 2005-9-9 09:38:47 | 只看该作者

re:thanks a lot !获益匪浅...

thanks a lot !<br>
获益匪浅!<br>
<br>
感谢版主这么热心,谢谢!
9
发表于 2005-9-6 18:40:32 | 只看该作者

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>
8
发表于 2005-9-6 16:25:54 | 只看该作者

re:DISMOUNT是对MAILBOXSTO...

DISMOUNT是对MAILBOXSTORE的操作,不是MAILBOX。看清楚~OUTLOOK的MAPI访问在用户属性里是禁止不掉的。只可以通过修改服务器注册表禁止MAPI客户端连接。OWA、POP3和IMAP4可以关闭。SPS是用什么访问邮箱的要依据你的程序设计。多看看MSDN的EXCHANGE SDK,其中有说明
7
发表于 2005-9-6 15:44:47 | 只看该作者

re:这个是用户的属性,可以从用户属性里提取并...

这个是用户的属性,可以从用户属性里提取并修改。具体属性值可参考ADSI资料。我手边暂时没有。但是你即使全部禁用了以上内容,我仍可以用MAPI访问邮箱。这没有意义
地板
 楼主| 发表于 2005-9-6 15:37:13 | 只看该作者

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>
多谢!
报纸
发表于 2005-9-6 15:30:11 | 只看该作者

re:呵,管理的开发?管理用户以及权限?帮你顶

呵,管理的开发?管理用户以及权限?帮你顶
板凳
发表于 2005-9-6 00:27:59 | 只看该作者

re:本人原用户名fengyidu,结果密码不...

本人原用户名fengyidu,结果密码不见了,sorry!<br>
希望5dmail可以通过注册mail找回密码,这样更方便。多谢!<br>
---请论坛短信告诉我你这个用户的注册的MAIL.我帮你改一下密码..
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网

GMT+8, 2026-8-6 09:20

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

快速回复 返回顶部 返回列表