On 8/24/05, Big Chris <ccasingh(a)andrew.cmu.edu> wrote:
Hi,
I'm having a problem with the password reset feature of mediawiki. When
a user tries to reset his or her password on the login page, a message
comes up indicating success, but the password is not reset (the old one
still works) and the user receives no e-mail. I have several wikis served
through apache on a debian box, and this is the case for all of them.
sendmail seems to be working fine, and is used successfully by a number of
other applications, including subversion and bugzilla. Any help would be
much appreciated.
When you click the 'send me a new password' button, it doesn't
immediately reset your password -- if it did, this would make it
trivially easy to lock someone of out a wiki by putting in their
username and clicking the button all the time.
It generates a new secondary password, and sends that out by e-mail.
You can then log in with the new generated password in addition to the
original one (if you remembered it), and (hopefully) change your
password to one you can remember, obliterating the old passwords.
So it's normal that you can still log in with the old password at this point.
The problems could be either:
1) Can't send the mail out
2) The mail isn't reaching its destination.
Either way you should check the server's mail log (often in
/var/log/maillog) and see what happens there when you try to send a
mail. Is there a failure message (and what is it?) or does nothing
even reach the outgoing mail server?
It may also not be reaching the destination; a common problem may be
with anti-spam mechanisms on some servers refusing to accept mail if
the envelope sender address doesn't resolve, or if the machine at that
address doesn't run an SMTP server.
The SMTP envelope sender address is different from the 'From:' header;
it will by default be the hostname of the server and the username that
the web server runs under, such as 'apache(a)srv17.wikimedia.org'org'. If
that's not a publically accessible address you may need to alter it;
you can change the Sendmail parameters for the mail() function in
php.ini. See
http://www.php.net/mail for some notes.
Alternatively you might try enabling the alternate mail output mode
supporting PEAR::Mail. (That has a dependency on an external package,
but is probably installed by default with PHP's default PEAR
packages.) Check DefaultSettings.php for the SMTP settings, there's a
config variable to enable this and set parameters.
-- brion vibber (brion @
pobox.com)