hMailServer关于afterlogic webmail php版本下的用户密码修改功能

hmailserver关于afterlogic webmail php版本下的用户密码修改功能

 

hmailserver作邮件服务器,squirrelmail 作邮件服务器的web界面实在是拿不出手去。换了afterlogic的webmail,界面稍微好一些,像那么回事了。

 

今天测试,发现afterlogic有个小bug:当邮箱密码只有1位字符时,登录后邮箱同步等都有问题。跟踪代码发现密码重复了一下,便成了2位。不过没关系,真正部署时肯定要求用户的密码字符数。

 

无论是squirrelmail ,还是afterlogic,php版本都不能修改hmailserver中的邮箱用户的密码,虽然squirrelmail和afterlogic都提供了界面修改密码的插件或功能。注:afterlogic的asp.net版本可以通过增加hmailserver的dll文件作为plugin,实现界面修改密码。

 

网上关于linux下使用poppassd服务开启106端口增加更改密码的说明,其实更改的是操作系统用户的密码,也就是说当邮箱用户就是系统用户时,可以这么做。很遗憾,hmailserver的用户肯定是邮件服务器自己设置的。afterlogic webmail如何解决呢?方法有几种,比如直接将hmailserver的php管理界面中的密码修改移植到afterlogic webmail中,不过估计工作量也不少。

 

在此设计了2个简单的思路,还是使用poppassd,修改poppassd,使其直接修改密码,方法有2种:

(1)使其调用hmailserver的COM接口:hMailServer.Application。

这个是参考hmailserver的php管理界面代码中:$obBaseApp = new COM("hMailServer.Application");

(2)直接修改数据库中的用户密码。最好hmailserver直接使用mysql。这样poppassd与mysql直接打交道,绕开了hmailserver.

 

无论哪种方法,需要提前设置的:

1。afterlogic webmail打开poppassd-change-password插件:

修改data\settings\config.php,加入如下代码:

return array(

    'plugins.poppassd-change-password' => true,
    'plugins.poppassd-change-password.config.host' => "127.0.0.1",
    'plugins.poppassd-change-password.config.port' => 106,

    ....

    

2。下载poppassd  for window程序:http://netwinsite.com/poppassd/

修改源代码,利用hmailserver的COM接口:hMailServer.Application,进行密码修改。重新编译链接,生成nt_poppassd.exe。

 

3。部署poppassd为安装hmailserver的window上的服务:

    addsvc -add poppassd nt_poppassd.exe "poppassd -- Changing Passwords"

    To remove the Service type the following:

    addsvc -del poppassd

   进入系统服务,开启poppassd服务。

   运行tasklist /svc | find "poppassd",可查看服务运行情况:

    nt_poppassd.exe               7440 poppassd1

   运行C:\Windows\System32>netstat -noa | find "7440",可查看端口及连接状态:
    TCP    127.0.0.1:106          0.0.0.0:0              LISTENING       7440

   

   密码修改测试:

   telnet localhost 106   

S: 200 machine_name popassd v1.4 hello, who are you?\r\n
E: user yourloginname\r\n
S: 200 your password please.\r\n
E: pass yourcurrentpassword\r\n
S: 200 your new password please.\r\n
E: newpass yournewpassword\r\n
S: 200 Password changed, thank-you.\r\n
E: quit\r\n
S: 200 Bye-bye\r\n
S:
E:

   如果测试成功,基本上afterlogic webmail在界面上修改密码也没有问题了。

公司简介

 

自1996年以来,公司一直专注于域名注册、虚拟主机、服务器托管、网站建设、电子商务等互联网服务,不断践行"提供企业级解决方案,奉献个性化服务支持"的理念。作为戴尔"授权解决方案提供商",同时提供与公司服务相关联的硬件产品解决方案。
备案号: 豫ICP备05004936号-1

联系方式

地址:河南省郑州市经五路2号

电话:0371-63520088

QQ:76257322

网站:800188.com

电邮:该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。