Visual C# 创建一个启用了邮箱的收件人
2009-06-12 08:31:43 来源:WEB开发网代码说明
创建一个新的 DirectoryEntry
此代码演示了如何绑定到容器(在本例中为“用户”容器),以及如何在该容器中创建一个新用户。不要忘记表示新用户名的“cn=”项。
container = new DirectoryEntry("LDAP://cn=users," + defaultNC);
user = container.Children.Add("cn=" + fullName, "user");
为新用户设置属性
1. 给 sAMAccountName 赋一个值。这是一个必需的属性。如果未指定值,则不会创建用户帐户。
2. 因为您已提供了必需属性,所以要调用 CommitChanges 将新用户保存到目录中。
3. 调用 IADs::SetPassword 以设置密码。调用 CommitChanges 之后必须进行此操作。
4. 通过修改 userAccountControl 属性启用用户。
5. user.Properties["sAMAccountName"].Add(alias);
6. user.CommitChanges();
7. user.Invoke("SetPassword", new object[]{password});
8.
9. //This enables the new user:
10. user.Properties["userAccountControl"].Value = 0x200; //ADS_UF_NORMAL_ACCOUNT
11. user.CommitChanges();
创建一个新的邮箱
1. 要获取 IMailboxStore 接口,请将 DirectoryEntry.NativeObject 转换为此类型。如果计算机上没有安装 CDOEXM,此转换在运行时将不会成功。
2. 调用 CreateMailbox 方法,并将一个有效的可分辨名称传递给您的 Exchange 组织中的一个邮箱存储。
3. 调用 DirectoryEntry 上的 CommitChanges 以保存此新邮箱。
4. //Obtain the IMailboxStore interface, create the mailbox, and commit the changes.
5. mailbox = (IMailboxStore)user.NativeObject;
6. mailbox.CreateMailbox(homeMDB);
7. user.CommitChanges();
回到顶端
疑难解答
· 您必须在域中有适当的权限才能创建用户和邮箱。通常情况下,要在一个基于 Windows 2000 的域中创建一个启用了邮箱的用户,您必须是该域的 Windows 2000 域管理员组成员。
· 如果运行此代码的计算机不是基于 Exchange 2000 Server 的,您必须在该计算机上安装 Exchange 2000 系统管理工具。如果不这样做,CDOEXM 将不可用,而且向 IMailboxStore 接口的转换将引发 InvalidCastException 响应:
未处理的“System.InvalidCastException”类型的异常出现在 MBTest.exe 中
其他信息:指定的转换无效。
· 如果您调用 IMailboxStore.CreateMailbox 时收到一条错误消息,请验证您传递给此方法的参数是否为您的组织中一个有效的邮箱存储。如果不是,您将收到类似以下内容的错误消息:
未处理的“System.Runtime.InteropServices.COMException”类型的异常出现在 MBTest.exe 中
其他信息:在服务器上没有这样一个对象。
- ››一个外链必须面对的问题:论坛发帖还是抢沙发?
- ››一个菜鸟学习网站经营的心得
- ››一个小小博客引发的力量
- ››一个很容易让人忽视的网站用户体验问题
- ››Visual Studio自定义调试窗体两个小技巧
- ››Visual Studio 2005 Team Edition for Database P...
- ››Visual C#两分钟搭建BHO IE钩子
- ››创建基于PPTP的站点到站点VPN连接:ISA2006系列之...
- ››创建基于L2TP的站点到站点的VPN连接:ISA2006系列...
- ››创建一个Twisted Reactor TCP服务器
- ››一个国外牛人JavaScript实现的Huffman对代码进行压...
- ››一个简单的iPhone项目及代码
更多精彩
赞助商链接