我如何删除 trac 用户的电子邮件地址?

我如何删除 trac 用户的电子邮件地址?

我们有一些用户已经离开公司,我们已暂停他们的电子邮件地址,但 trac 仍继续向这些地址发送通知。我该如何从他们的 trac 个人资料中删除电子邮件地址?

答案1

如果您熟悉命令行,则无需插件。TracAdmin是你的朋友。

列出给定 sids (用户名) 的名称和电子邮件:

trac-admin /usr/local/share/trac/test session list

SID      Auth  Last Visit  Name            Email            
------------------------------------------------------------
bob      1     1970-01-01  Bob Smith       [email protected]

/usr/local/share/trac/test您的项目路径在哪里。

现在只需发送空字符串即可清除他们的电子邮件地址:

trac-admin /usr/local/share/trac/test session set email bob ""

检查它是否有效:

trac-admin /usr/local/share/trac/test session list

SID      Auth  Last Visit  Name            Email            
------------------------------------------------------------
bob      1     1970-01-01  Bob Smith                        

需要将其设置为其他值吗?没问题:

trac-admin /usr/local/share/trac/test session set email bob "[email protected]"

trac-admin /usr/local/share/trac/test session list

SID      Auth  Last Visit  Name            Email            
------------------------------------------------------------
bob      1     1970-01-01  Bob Smith       [email protected] 

答案2

您可以进入数据库并更新记录:

 DELETE FROM session_attribute WHERE name = 'email' AND value = '[email protected]';

如果您使用 sqlite,它将类似于“sqlite3 trac.db”,其中 trac.db 位于您的 trac 目录下的某个位置。

此外,在 trac.ini 中还有自动通过电子邮件发送更改和票证的设置。

always_notify_owner = true
always_notify_reporter = true
always_notify_updater = true

如果此人仍以这三者之一的身份持有票证,则如果 trac 用户名是其电子邮件地址的第一部分并且设置“smtp_default_domain”与域部分匹配,他们将继续收到电子邮件。

答案3

我发现的另一种方法是使用用户管理插件.“用户会话管理”提供了从系统中删除老用户的功能。

安装插件后,

  1. 选择管理 -> 用户 -> 会话管理
  2. 勾选要删除的用户,然后单击“删除所选”

相关内容