公司要更换办公邮件系统,发现之前所使用的是 新网互联 的云邮邮箱。做邮件迁移时发现,这邮箱居然是每几个月“归档”一次,放在“归档邮件夹”里。这些“归档”邮件是无法通过常规的 IMAP/POP3 协议导出到新邮件系统里的!而且和新网互联沟通过几次发现,他们也不提供任何下载或导出的方法!这真是无耻啊,是要拿“归档邮件”做“人质”阻挠客户迁移!(参考:同样遭遇者的吐槽)
但新邮箱已上线,肯定要在原邮箱服务期满前,解决这个问题。不得已写了这个小程序,通过Web界面将这些“归档”邮件逐一下载下来,并保存到本地数据库里。全部下载完成后又简单写了个Web界面,让同事们可以查询这些邮件。
因为只是一次性使用,所以代码写得比较草,请见谅。 另外,本项目也没有后续维护,请自行修改代码调试,或者不用我的代码按你自己的办法解决。
1、首先创建好数据库(我用的MySQL,你可以根据情况改程序); 2、然后把需要导出“归档邮件夹”的账号名,添加到 m_user 表里; 3、修改 Worker.cs 里的邮箱域名和登录密码; 4、编译运行,即可依次下载指定账号里的“归档邮件”,邮件内容保存在 m_mail 表,附件保存目录在 web.config 里配置。
云邮系统的“归档邮件”并不稳定,我下载时发现:下载到极个别邮件时,会出现全部“归档邮件”全部消失不见 的怪异现象!过一两天或三四天又会重新恢复正常,但如果还要下载那封邮件,就又会重演这怪事。。。(我怀疑是云邮读到了磁盘坏道、导致存储系统“挂”了,等管理员隔几天发现了才会手工恢复)
碰到这现象时,如果你重复尝试,“归档邮件”会再次消失,又要干等几天。。。所以我建议你应该放弃这极个别邮件,跳过去,下载别的邮件吧。