迁移邮件服务器,导致foxmail等客户端重新将邮件都收一遍
(2011-11-10 13:19:25)
标签:
杂谈
这两天将邮件服务器换了台机器,结果像foxmail等客户端把原来的邮件又都重新收了一遍,间接导致所有人都在那收邮件,造成排队现象,很多人一上午无法正常的收邮件
首先分析下为啥会造成这种现象
foxmail的工作原理是通过pop协议登陆邮件服务器,验证每封邮件的uidl值是否跟本地的uidl文件中记录一致,如果一样则不会收取,如果本地没有则认为是新邮件将其下载下来。
那问题可能就出在这个uidl上了,对比原来的服务器和新服务器上的uidl果然数值不一样,所以foxmail才会认为是新邮件,将之前的所有邮件下载下来。
目前只想到了两个在客户端解决的办法,服务端如何在迁移过程中保持原有的uidl暂时还没想到办法,客户端解决办法如下:
1、将收件箱的所有邮件转移(需web支持此功能)
通过网页访问你的邮箱,创建一个文件夹,然后找到选项,尽可能的把当页显示邮件的数量调到最大或是所有,下一步就是全选这些邮件,将邮件转移到你刚才建立的文件夹上,最后再去这个文件夹把你foxmail中没有的新邮件再转移回收件箱中,这样foxmail就可以不用把以前的邮件全都再收一遍了。
如果你的网页只能显示100或200封邮件,而你却又上万封,那就一页一页去移吧,哈哈,也可以试试下边的方法,需要点技术含量。
2、获取邮件服务器上的uidl复制到本地的uidl文件里
使用telnet登陆邮件服务器
telnet 邮件服务器pop地址 110 (此步可以用cmd的命令行或是客户端工具如SecureCRT)
返回OK信息,输入你邮箱用户名
user aaa
返回OK信息,输入密码
pass 123456
返回OK信息,登陆成功
输入uidl命令之前,由于uidl会很多,一屏显示不下,我用的是SecureCRT,点击“文件”中的“记录会话”,把输出保存到一个文件中,设置好后,输如uidl,就会把uidl列表列印出来并保存到刚才设置的文件中
输入quit,退出
修正一下那个生成文件,将前边的序号去掉,行尾加入&&2011-11-10,例如
1 MD50000000001:MSG:17369:30146148:1179624192
改为
MD50000000001:MSG:17369:30146148:1179624192&&2011-11-10
把修改后uidl后,找到foxmail文件夹下你的邮箱文件夹,下边有个uidl的文件,打开将修改后的uidl值复制进去就可以了
在linux下编辑更容易点
awk '{print $2}' session.log | sed
's#$#\&\&2011-11-10#'
> uidl
生成完文件后,去掉文本首和文本尾的一些信息后,直接将文件覆盖即可
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。