如何在 MediaWiki 中更改用户的电子邮件地址

How do I change a user's Email address in MediaWiki

通过访问 sysop 和数据库访问,我如何更改与用户关联的电子邮件地址?

数据库中的用户 table 将所有内容编码为 BLOB。如果我可以对这些值进行解码和编码,我大概可以更新 user.user_email.

UPDATE user SET user_email='foo@bar.com' WHERE user_id=... 应该可以。但是,如果您还需要设置确认标志,请参阅说明 here (replace the mwscript line with php maintenance/eval.php). If you need to set their email only so that they could reset their password, see https://www.mediawiki.org/wiki/Manual:Resetting_passwords

您可以像这样获取当前的用户和电子邮件列表(即解码):

SELECT Cast(user_name AS CHAR), Cast(User_Email AS CHAR) FROM user;

MaxSem 的回答对我不起作用,但这里有一个 MediaWiki 维护脚本(在 v1.27 中引入)可以解决问题:https://www.mediawiki.org/wiki/Manual:ResetUserEmail.php

转到您的 wiki 的基本目录,然后键入如下内容:
php maintenance/resetUserEmail.php uuuu new@email.address
将用户 uuuu 的电子邮件地址更改为 new@email.address。默认情况下,这将更改用户的密码,因此用户必须重新设置密码,这通常可以在 wiki 网站上完成。您可能需要为数据库访问添加用户名和密码,例如:
php maintenance/resetUserEmail.php --dbuser myuser --dbpass wordpass uuuu new@email.address