我们托管了多个邮件解决方案,其中包括托管 Exchange 2007 平台。我们的一些客户希望从我们的其他平台(将电子邮件存储在 eml 文件中)迁移,我们希望能够将特定用户的邮件(这意味着大量的 eml 文件)迁移到 Exchange 邮箱中。由于这是大容量的,因此通过每个用户的 Outlook 执行此操作将非常麻烦。
是否有人知道任何可以让我们(批量)将 emls 导入交换邮箱的软件或 API?
答案1
这是我过去使用过的一个次优解决方案。它现在有点没用了,因为微软删除了“当时”可以使用的 API/接口,但你今天可能会发现使用“临时服务器”将电子邮件从“EML”格式转换为 PST 格式(例如,使用“EXMERGE”)可能会成功:
Exchange 2000 / 2003 可选择将 Exchange 信息存储显示为文件系统(“M: 驱动器”)。在 Exchange 2000 中,这实际上是作为服务器上的驱动器号显示的,但在 Exchange 2003 中,它默认是隐藏的(但您可以通过一个程序再次显示它 -http://support.microsoft.com/kb/821836)。每个邮箱都显示为一个文件系统文件夹,每个文件夹中都有代表电子邮件的“.EML”文件。
我使用此界面为几位正在迁移到内部 Exchange Server 安装的客户从“Yahoo Mail”导入电子邮件,因为我可以从 Yahoo 获取大量“.EML”文件,这些文件位于 ZIP 文件的文件夹中。我将文件从 Yahoo 解压到“M: 驱动器”上用户“收件箱”文件夹的子文件夹中,然后这些邮件就会出现在他们的 Exchange 邮箱中。
对于您来说,我可能会在某些 VM 或测试机器上的临时 Active Directory 中安装 Exchange 2003,在那里执行导入,然后使用 ExMerge 将邮箱导出为 PST 文件并将其导入到生产 Exchange 2007 安装中。
它有点过时,但这是我能想到的最快的方式,可以完成你想做的事情,而无需编写任何脚本或使用大量手动程序等。
答案2
这是我过去使用过的方法:
设置 IIS SMTP 服务器并将其配置为使用 Exchange 服务器作为智能主机。配置 Exchange 服务器以允许从 IIS SMTP 服务器进行中继。将 eml 文件放入 IIS SMTP 服务器上的 SMTP 拾取目录中。然后,IIS SMTP 服务器将获取所有这些 eml 文件并将其转发到 Exchange 服务器(因为 Exchange 充当 IIS SMTP 服务器的智能主机)。然后,Exchange 服务器将愉快地将它们发送给您的内部收件人。