我们有一些用户已经离开公司,我们已暂停他们的电子邮件地址,但 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”与域部分匹配,他们将继续收到电子邮件。