前些天布置了一个邮件服务器,考虑到电子邮件服务程序高昂的使用费,决定先找个不要钱的试试。先试了MuseMail,这软件的确不错,但苦于找不到免费的,只要放弃。又试了MagicWinmail,这软件也不错,但最新的4.7版没有办法免费使用。
在网上找了找,看到有Magicwinmail4.7的破解版,按照网上说的下载安装并完成破解,解除了时间和用户数限制,邮件服务可以正常使用了。
但好景不长,安装使用的第三天,突然出现问题,用浏览器打开邮箱时出现“You must set at least one domain, please review the options of your mail server”的错误提示。到服务器上一看,原来winmail的服务配置文件(*.cfg) 全部成了乱码。于是删除了程序,重新安装,可是过了两天又出错。到网上找,没有发现处理的办法。只好自己解决了。
打开winmail的安装目录,查看它的备份目录(安装目录/server/backup),里面有两个压缩包,分别是近两天的配置文件备份。 其中第一天的备份是正常的,而第二天的备份里面的文件内容却是乱码。于是用第一天的备份恢复了配置文件,程序能正常使用了。


问题分析:(网上说winmail的日志是每晚0:00分的时候会自动备份配置文件,而且会检查授权认证,估计是会连接到授权服务器上去检查licence,能查得到的HOSTS应该都被禁止掉了,应该是类似逻辑×××的性质,WINMAIL长时间无法验证licence 触发了这个×××。因为如果是licence验证未通过,虚假的注册信息会消失掉的。因此会出现以上症状)
因为在前一天晚上11点多,我上网时邮件服务还是正常的,而自动备份的时间是晚上12点,所以可以断定产生乱码的时间应该是在12点,也就是自动备份的时侯。但为什么第一天的备份是正常的,而第二天就不正常了呢? 第一天和第二天在环境上的差别只有一点:就是第一天没有任何备份文件,而第二天存在一个备份文件。 难道是这个原因? 于是把备份目录中的备份文件移动到别的目录里。过了一天,服务正常。看来问题是找到了,但不可能每天去手工移动自动生成的备份文件吧?

处理方法:
编写一个批处理文件 xxx.bat 内容如下:

@echo off
move /y E:\htdocs\Winmail\server\backup\*.*  E:\htdocs\Winmail\server\backup2
exit

然后启动任务计划程序,把这个批处理文件的执行时间定为每天1:00。
这样每天晚上十二点钟备份文件生成后,过一个小时就被移动到另一个目录里。从而保证在系统进行备份时,备份目录里不包含别的备份文件。这样就不会了错了。
 
 
附加如下:
最近遇到几位用D版的WINMAIL(4.5,0626) 的出现错误。
 
现象如下:
     一直用的好好的突然有一天不能正常使用了。应用程序日志里出现一堆错误。第一个错误为Error Information: Get ADMIN server setup info failure. 基本上意思就是WINMAIL的各项服务均无法正常工作了。当试图打开管理界面时已无法正常打开。尝试停止邮件服务再重启也无法成功运行。
 
 
排查:
      一开始单纯的以为只是简单的程序崩溃。于是重新安装,导入原有设置后一切正常。不过很不幸的发现正常了没几天(2-3天不等)又崩溃了。一样的错误,一样的提示。于是再重装,症状依旧。
      鉴于这种反复出现的状况于是对问题进行了进一步的分析:通过对备份包的简单分析。问题主要出现在domain.cfg、service.cfg、userauth.cfg三个文件上,正常情况页面内容应为XML,但是出现问题后全部变成了乱码。每次出现问题后将这三个文件复原即可使WINMAIL恢复正常。
 
解决方法:
目前临时的解决方案是写一个简单的小程序。对上述三个文件进行读取,判断是否为XML不是的话就用备份文件将其恢复过来。
正在进一步观察这个问题。希望能找到一劳永逸的办法(当然最简单的办法就是去买Z版^_^)
 
总结:
从备份文件中可以看到WINMAIL每天更新的文件只有4个其中三个是上述的那三个。最后一个是license.cfg。