繁体   English   中英

使用C#将电子邮件从imap迁移到Exchange 2010

[英]migrating emails from imap to exchange 2010 using c#

我的任务是编写一个小应用程序,以帮助将Linux IMAP服务器上公用文件夹结构中的400GB以上的电子邮件迁移到MS Exchange 2010公用文件夹中。

我已经看过与前景的拖放,但是有一个问题。 在推送到Exchange之前,Outlook将所有电子邮件本地缓存到一个pst文件中。 目前,这些文件的限制为20GB。

现在不是C#的强力开发者,有没有办法使用Outlook作为imap服务器和Exchange的连接器,然后使用C#遍历文件夹结构并复制电子邮件?

重要的是,我们不要丢失任何原始的电子邮件标题/源数据。

我知道在Exchange 2010中与公用文件夹通信的唯一方法是使用Exchange Web服务,但是从示例中我已经看到,这可能会更改电子邮件来源。 我希望Outlook可以帮助预置此数据,并且使用mapi界面可以消除进行这些Web服务调用的需要。

尽管我说过我正在使用C#,但我愿意用另一种语言(java,perl,php等)编写此代码,但我只需要提出一些有助于解决我的问题的方法。

SO社区中的任何人都可以给我提供任何指示以帮助解决此问题,或者为我指明正确的方向吗?

非常感谢,

格兰特

恐怕不更改电子邮件源就无法将数据迁移到MS Exchange 2010。 Exchange 2007不再存储实际的MIME数据(这是从IMAP服务器获得的格式),而仅按需重新构建它。 他们只存储所谓的“ MIME骨架”-请参阅此MS论坛 我在那个论坛上没有找到,但观察到的是,这种反向过程通常不会产生与原始消息相同的消息-MIME实体的内容不变,但是其结构经常更改-不同的内容转移-使用编码,添加一些标头或添加或修改等等。

至少这是用户邮箱中邮件的存储方式-但我猜想,公用文件夹也是如此。 另外,Exchange 2010的行为可能(尽管不太可能)与Excahnge 2007有所不同。

虽然我不是MAPI专家,但我认为甚至没有使用MIME格式(Outlook甚至无法以MIME格式保存邮件),这将使MAPI成为保留电子邮件源的不太可能的解决方案。

因此,我的建议是执行您已经尝试的操作-从IMAP服务器以MIME格式获取电子邮件数据,并使用Exchange Web服务进行存储。 我们这样做是为了将电子邮件消息从IMAP服务器移至Exchange 2007用户邮箱,而对于损坏的电子邮件则没有任何问题(但是同样,我们没有400GB的数据)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM