当前位置: 首页 > 工具软件 > AfterLogic > 使用案例 >

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

范浩宕
2023-12-01

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,

....

修改源代码,利用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在界面上修改密码也没有问题了。

 类似资料: