造成这种情况的可能原因主要有两种:
1. 数据库原因:我们推荐使用SQL Server数据库。如果您当前用的是Access,并且暂时不想升级到SQL Server数据库(升级方法),可以压缩一下Access数据暂时缓解一下该情况:“工具”->“压缩Access数据库”;如果您用的是SQL Server数据库,请确保您使用的是与当前务器操作系统兼容的SQL Server版本,比如对于Windows 2003 企业版,您可以使用SQL Server 2000企业版SP4或SQL Server 2005企业版。
需要特别注意的是,目前网上的SQL Server版本非常多,有很多精简版、优化版、集成版之类的,请务必不要使用这些所谓的优化版,建议去微软官方网站下载安装程序及补丁。
2.服务器被攻击了:由于要跟互联网上的各种邮箱之间互发邮件,因此您的邮件服务器的25端口是对整个互联网开放的。这就给一些垃圾邮件发送者提供了可趁之机,他们利用专门的工具进行扫描,并暴力破解邮箱密码,从而获得发送权限,通过您的邮件服务器发送大量的垃圾邮件。这时您可以在服务器的“邮件发送列表”(点击DBMail主界面左侧的“状态”标签)下看到成百上千的邮件在不停的发送,这种情况必然会占用大量CPU资源。
针对该情况的应对方案:
- 在“邮件发送列表”下记录正在不停发送邮件的帐号,将他们的密码改成复杂密码,比如字母+数字+特殊符号,位数不低于8位。其他邮箱的密码也要改为复杂密码。
- 关闭DBMail,可以打开任务管理器,确保其中不再有DBMail相关进程(dbmailserver.exe和dbmailservice.exe)。
- 打开数据库,找到mailsent这个表,清空该表中的所有记录。如果是Access,mailsent表在accesssent.mdb数据库中;如果是SQL Server,mailsent表在sqlldapinfo数据库中。
- 重新启动DBMail即可。
【注意】
如果是邮件服务器系统被攻击了,不仅会使CPU占用率一直居高不下,还会导致无法正常收发邮件,因为服务器被大量的垃圾邮件堵塞了。更为严重的情况则是由于您的服务器被别人用来发垃圾邮件,导致一些邮件服务提供商(比如新浪、网易、雅虎等)将您的域名或IP地址列入垃圾邮件黑名单,把您的正常邮件也过滤掉。遇到这种情况需要您主动联系邮件服务提供商(比如新浪、网易、雅虎等)申请解封,而这种申请并非立刻就可以被处理的,因此会给您的正常邮件往来带来很多不必要的麻烦。所以请大家务必加强安全意识,一定要设置足够复杂的密码,那些123456,abc123之类的组合对破解者来说与不设密码也差不多。