65.9K
CodeProject 正在变化。 阅读更多。
Home

MDaemon .NET 控制器

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.65/5 (9投票s)

2010年2月19日

CPOL

2分钟阅读

viewsIcon

81075

downloadIcon

1317

这个 .NET 类允许管理 MDaemon 邮件服务器,例如创建域和用户帐户。

MDaemon 邮件服务器

您需要一个邮件服务器吗?您拥有 Web 托管服务并希望为您的客户添加邮件支持吗?

您可以安装 Microsoft Exchange Server,但有一个更好的解决方案:我推荐 alt-n technologies 公司的 MDaemon

这个邮件服务器提供相同的功能,价格更便宜,占用更少的 RAM,并且配置起来更容易得多。用户可以选择几个 Web 主题 - 其中一个看起来与 Outlook Web Access 完全相同。您可以从自己用 C++ 或 .NET 编写的管理应用程序完全控制服务器的功能。

WorldClient.gif

AccountManager.gif

MDaemon API

如果您决定 100% 自动添加新的邮件域和新的用户帐户,这将非常容易。

  • 在 C++ 中,您可以使用 MDUser.dll,它提供对整个服务器功能的访问权限。
  • 在 .NET 中,您可以使用 MDUserCOM.dll,它提供对大部分功能的访问权限,但并非全部。

我曾向 alt-n technologies 支持团队询问为什么 COM DLL 中缺少一些函数,例如创建新域。他们从未回复我。

MDaemonController

因此,我编写了 MDaemonController .NET 项目。它是一个托管 C++ DLL,可以在 C# 和 VB .NET 项目中使用。它提供对所有 API 函数的访问权限,这些函数用于创建和操作域和用户帐户。

Interface.gif

在 C# 中创建新域的示例

using MDaemon;
cDomain i_Domain = new cDomain();
i_Domain.DomainName = "starwalker.com";
i_Domain.FQDN       = "starwalker.com";
i_Domain.IP         = "131.225.33.14";
i_Domain.MaxUsers   = 10000;
i_Domain.Create();

在 C# 中创建新用户的示例

using MDaemon;
cUser i_User = new cUser();
i_User.FullName  = "Johnny Walker";
i_User.Mailbox   = "jwalker";
i_User.Password  = "123ABC";
i_User.Domain    = "starwalker.com";
i_User.MailDir   = "C:\\emails\\jwalker";
i_User.WebConfig = cUser.eWebConfig.ACCESS_WORLDCLIENT | 
    cUser.eWebConfig.EDIT_PASSWORD | cUser.eWebConfig.IS_ADMIN;
i_User.Add();
  • 您可以创建域、创建用户帐户以及修改现有域和用户并搜索用户。
  • 您可以枚举所有域和所有用户。
  • cUsercDomain 类具有各种属性,这些属性在创建新类时会自动填充服务器的默认值。您可以处理这些默认值或修改它们。
  • 所有 C++ 常量都已转换为方便的 .NET 枚举。
  • 这些类具有干净的错误处理机制,可以将 C++ 错误代码转换为人类可读的错误消息,并将其作为异常抛出。

代码使用了以下 C++ 函数
MD_InitDomainInfo, MD_FreeDomain, MD_WriteDomain, MD_DeleteDomain, MD_GetDomainCount, MD_GetDomainNames, MD_VerifyDomainInfo

MD_InitUserInfo, MD_GetFree, MD_VerifyUserInfo, MD_AddUser, MD_GetByEmail, MD_GetUserInfo, MD_SetUserInfo, MD_DeleteUser, MD_UserExists, MD_FindFirst, MD_GetEmail, MD_FindNext, MD_FindClose

更多功能

如果您需要以编程方式访问 邮件列表消息处理规则管理网关功能,则将包含这些功能的 MDUserCOM.dll 添加到您的 .NET 项目中。

演示项目

此 DLL 附带一个演示应用程序,演示如何使用该 DLL。它非常简单,因此我不会在这里详细说明。

请查看代码! C++ 代码中的注释解释了这些函数。C# 演示程序展示了如何使用它们。

© . All rights reserved.