最近由于工作需要,在内网搭建HmaiServer邮件服务器及AfterLogic webmail,所遇到的问题与解决办法与大家分享。
环境 xampp 1.8.2
windows 2003
在笔记本win7(连接互联网)上搭建HmaiServer邮件服务器及AfterLogic webmail后一切正常,遂到内网服务器windows 2003(未连接互联网)搭建,结果:
1、登陆AfterLogic webmail用户页面无响应,在install页面与adminpanel检查数据库连接均测试成功,开启日志后发现
[03:40:09.82] DB(PDO/mysql) : start connect to root@localhost
没有连接到数据库,但是进后台检查数据库测试连接成功。
究其原因是Mysql数据库的问题,当远程访问mysql时,mysql会解析域名,会导致访问速度很慢。
解决办法 禁止mysql做域名解析
在my.ini里面添加
[mysqld]
skip-name-resolve (选项就能禁用DNS解析,连接速度会快很多。但是不能在MySQL的授权表中使用主机名只能用ip )
skip-grant-tables (如果mysql服务器没有开远程帐户,在my.ini里面加上skip-grant-tables)
2、登陆AfterLogic webmail之后,能收到邮件列表,但不能获取邮件内容。
先检查是否是Hmailserver的问题,用Foxmail软件代替webmail连接hmailserver,pop3连接不上,使用IMAP连接成功,进入Foxmail后,不能发送邮件,报错。
原因为电脑里的杀毒软件禁止了Foxmail,重装解决,证明不是hmailserver的问题。
检查hmailserver数据库,发现.eml存储文件名,联想到是不是路径的问题,因为我把hmailserver安装到中文目录下,重装Hmailserver到英文目录,解决问题。
3、AfterLogic webmail开启withoutdomain项时,就是只输入用户名不输入@域,出现有些用户能登陆,有些用户不能登陆(主要是新注册用户)
开启用户名登陆配置为 data/settings/settings.xml
由于需要编写了用户注册页面,出现新用户登陆不成功,以为是注册页面的问题,使用Hmailserver客户端添加用户,同样失败。
测试老用户错误密码返回信息为“账户或密码错误”,新用户返回信息为“连接服务器错误”。
检查AfterLogic webmail数据库,发现只有老用户的信息存储在数据库里。检查日志,发现AfterLogic webmail向hmailserver发送连接请求时,老用户带域名,新用户没有域名,只有用户名,便在Hmailserver中添加默认域名,问题解决。