【问题标题】:Create mailbox in Exchange 2003 using C# running on Windows Server 2008使用在 Windows Server 2008 上运行的 C# 在 Exchange 2003 中创建邮箱
【发布时间】:2011-07-16 11:07:49
【问题描述】:

我越来越绝望,所以希望有人能帮忙。我们重写了一个旧的 VB 应用程序,它使用 CDOEXM 在 Exchange 2003 中创建邮箱。新的 C# 代码非常相似,如下所示:

        CDOEXM.IMailboxStore mailbox;
        mailbox = (IMailboxStore)user.NativeObject;
        mailbox.CreateMailbox(homeMDB);
        user.CommitChanges();

运行代码的服务器需要安装 Exchange 管理工具才能工作(即安装我们需要的 CDOEXM 库)

这在 XP 上运行良好,但我们也在迁移到 Windows 2008 64 位服务器,我无法在此处安装 Exchange 管理工具,因为它说存在兼容性问题。

谁能推荐一个解决这个问题的方法?正如我所说,我们越来越绝望,因为如果我们无法解决它,这将阻止产品发布,所以非常感谢一些帮助。

谢谢

编辑:顺便说一句,我手动将 CDOEXM dll 注册为有点麻烦,现在我得到了这个错误:

创建mailboxSystem.ArgumentException 的问题:值不在预期范围内。 在 CDOEXM.IMailboxStore.CreateMailbox(String HomeMDBURL)

据我所知,我使用的 homeMDBURL 是有效的

【问题讨论】:

    标签: c# exchange-server


    【解决方案1】:

    我认为 Windows 2008 不支持 CDOEXM。如果在 Windows 2003 Server 周围托管一个用于创建邮箱的 WebService,会怎么样?

    另一种选择是在不使用 CDOEXM 的情况下创建邮箱。请注意,Microsoft 完全不支持这种方法。但是,如果您填充了足够多的属性(我不知道它们都在我脑海中),比如 homeMDB 和其他属性,那么收件人更新服务 (RUS) 将在下一次运行时创建邮箱。如果我没记错的话,RUS 默认每两分钟运行一次。

    顺便说一句,您确实将 C# 程序作为 32 位进程运行,对吧?

    【讨论】:

    • 您好,感谢您的回复。我一直专注于尝试让它在我们的新架构上工作,我没有考虑为此目的设置旧服务器。我想这可能是我们实际上必须做的,尤其是在没有官方支持的替代方案的情况下。也对你所说的 32 位进程感兴趣。我没试过,但代码是在 XP 上编译的,所以我猜它已经是 32 位的了(?)。这会有所作为吗?抱歉,对 COM 的东西不太熟悉,所以不确定其中的含义。谢谢
    • .NET 代码可以针对 x86、x64 或任何 Cpu 进行编译。当编译为 Any Cpu 时,它将在 64 位 Windows 上作为 x64 进程运行,在 32 位 Windows 上作为 32 位运行。
    • 按照以下步骤结束:internationalmanofawesome.wordpress.com/2010/09/02/…,并且服务器连接的域也有问题,但是当我们创建一个新域时,一切正常,因此可以将 CDOEXM 设置为与 2008 年一起工作,有点犹豫……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    相关资源
    最近更新 更多