hmailserver_changepass plugin in seperated webserver...

Use this forum if you have problems with a hMailServer script, such as hMailServer WebAdmin or code in an event handler.
Post Reply
New user
New user
Posts: 11
Joined: 2005-08-30 13:08
Location: Tanzania

hmailserver_changepass plugin in seperated webserver...

Post by southphj » 2006-04-30 17:21


I got some problem with hmailserver_changepass plugin.

I am operating two servers.

Server 1:
MySQL 4.1.15-win32
Windows 2003 Sp1

Server 2:
SqurrelMail MOD
Apache Version 1.3.34
PHP Version 4.4.3
MySQL Version 4.0.26
Windows 2003 Sp1

I could get the change password page, but when I click 'Submit'
it shows only 'the page cannot be displayed' and password doesn't change.

I search this form to solve this problem but i couldn't find it.

Please help me....

One things, i tried SquirrelMail Change MySql password plugin, but it shows only 'the page cannot be displayed' page.. i couldn't get the change password page.


New user
New user
Posts: 11
Joined: 2005-08-30 13:08
Location: Tanzania

Page cannot be displayed..

Post by southphj » 2006-05-10 12:54

I found some information from this forum and I installed hMailserver Client. hMailServer admnistrator is working fine.

However, both PHPWebadmin and hmailserver_changepass still shows error page(Page cannot be displayed).

Is there anybody having a solution for this?

Senior user
Senior user
Posts: 886
Joined: 2005-11-28 11:43

Post by CraigHarris » 2006-05-10 23:38

The PHP install needs DCOM enabled.

The DCOM port must be open on Server1's firewall.

The DCOM permissions must allow the Apache/PHP process on Server2 to access the hMail COM object on Server1

Please enable full logging in PHP and post actual errors here if you still have problems after checking the above points.

New user
New user
Posts: 11
Joined: 2005-08-30 13:08
Location: Tanzania


Post by southphj » 2006-05-11 10:00

Thanks CraigHarris.

But I have set 'allow COM ' in PHP.INI

; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
;com.typelib_file =
; allow Distributed-COM calls
com.allow_dcom = true
; autoregister constants of a components typlib on com_load()
;com.autoregister_typelib = true
; register constants casesensitive
;com.autoregister_casesensitive = false
; show warnings on duplicate constat registrations
;com.autoregister_verbose = true

and Temporarily, I turned off Server1's firewall.

I add 'everyone' in the 'DCOM Config' - ' hmailserver' -'Security' - ' Launch and Activation Permissions' on both Server 1 and Server 2.

And also enabled loggin as below


; Error handling and logging ;

; error_reporting is a bit-field. Or each number up to get desired error
; reporting level
; E_ALL - All errors and warnings
; E_ERROR - fatal run-time errors
; E_WARNING - run-time warnings (non-fatal errors)
; E_PARSE - compile-time parse errors
; E_NOTICE - run-time notices (these are warnings which often result
; from a bug in your code, but it's possible that it was
; intentional (e.g., using an uninitialized variable and
; relying on the fact it's automatically initialized to an
; empty string)
; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
; initial startup
; E_COMPILE_ERROR - fatal compile-time errors
; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
; E_USER_ERROR - user-generated error message
; E_USER_WARNING - user-generated warning message
; E_USER_NOTICE - user-generated notice message
; Examples:
; - Show all errors, except for notices
;error_reporting = E_ALL & ~E_NOTICE
; - Show only errors
; - Show all errors except for notices
error_reporting = E_ALL & ~E_NOTICE

; Print out errors (as a part of the output). For production web sites,
; you're strongly encouraged to turn this feature off, and use error logging
; instead (see below). Keeping display_errors enabled on a production web site
; may reveal security information to end users, such as file paths on your Web
; server, your database schema or other information.
display_errors = On

; Even when display_errors is on, errors that occur during PHP's startup
; sequence are not displayed. It's strongly recommended to keep
; display_startup_errors off, except for when debugging.
display_startup_errors = Off

; Log errors into a log file (server-specific log, stderr, or error_log (below))
; As stated above, you're strongly advised to use error logging in place of
; error displaying on production web sites.
log_errors = On

; Set maximum length of log_errors. In error_log information about the source is
; added. The default is 1024 and 0 allows to not apply any maximum length at all.
log_errors_max_len = 1024

; Do not log repeated messages. Repeated errors must occur in same file on same
; line until ignore_repeated_source is set true.
ignore_repeated_errors = Off

; Ignore source of message when ignoring repeated messages. When this setting
; is On you will not log errors with repeated messages from different files or
; sourcelines.
ignore_repeated_source = Off

; If this parameter is set to Off, then memory leaks will not be shown (on
; stdout or in the log). This has only effect in a debug compile, and if
; error reporting includes E_WARNING in the allowed list
report_memleaks = On

; Store the last error/warning message in $php_errormsg (boolean).
track_errors = Off

; Disable the inclusion of HTML tags in error messages.
;html_errors = Off

; If html_errors is set On PHP produces clickable error messages that direct
; to a page describing the error or function causing the error in detail.
; You can download a copy of the PHP manual from
; and change docref_root to the base URL of your local copy including the
; leading '/'. You must also specify the file extension being used including
; the dot.
;docref_root = "/phpmanual/"
;docref_ext = .html

; String to output before an error message.
;error_prepend_string = "<font color=ff0000>"

; String to output after an error message.
;error_append_string = "</font>"

; Log errors to specified file.
;error_log = filename

; Log errors to syslog (Event Log on NT, not valid in Windows 95).
error_log = syslog


I have taken below message from syslog.
Event Type: Information
Event Source: php
Event Category: (6)
Event ID: 2000
Date: 5/11/2006
Time: 12:38:42 AM
User: N/A
Computer: MU2
The description for Event ID ( 2000 ) in Source ( php ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. You may be able to use the /AUXSOURCE= flag to retrieve this description; see Help and Support for details. The following information is part of the event: php[2748], PHP Warning: (null)(): Unable to obtain IDispatch interface for CLSID {D6567EF8-0A6C-48E7-9288-A2463123C2F3}: The specified service does not exist as an installed service.
in c:\apm_setup\users\webmail\plugins\hmailserver_vacation\options.php on line 181.


I guess the problem is that I didn't install hmailserver from above message..

However, accoding to ' ... ame+server' aritice, even though I don't install server on server 2, it might work.

Anyway, hMailserver Administrator is working...but still problem on phpWebadmin and changepassword plugin...


please give me an advice...

Senior user
Senior user
Posts: 886
Joined: 2005-11-28 11:43

Post by CraigHarris » 2006-05-12 00:28

Have you directed the scripts to the hMail COM object on the other server?

Your error message suggests that it's looking locally for the COM object.

New user
New user
Posts: 11
Joined: 2005-08-30 13:08
Location: Tanzania

How can i do?

Post by southphj » 2006-05-12 07:58

Thanks CraigHarris. I really appreciate for your help..

However, I still have problem. I don't have much knowledge for these things.

I want to know how I can direct it on the other server?
Should I set more in Dcfg of Hmailserver?
I tried to set 'Run application on the following computer' in 'location'.
Is it what you said?

Post Reply