如何列出组中用户的电子邮件?

仅此而已。有没有办法向整个群组发送邮件,或者列出整个自定义群组的邮箱地址?

谢谢!

一种方法是使用数据探索器插件。

我可以直接通过 SQL 实现吧?我有服务器访问权限。或许你可以分享用于显示该输入的查询语句?

感谢你的快速回复。

数据探索器插件为构建此类查询提供了一定支持。这稍微有些复杂,因为你需要连接几张表才能获取电子邮件地址。这超出了我目前的时间范围,但在数据探索器分类中可能会有相关示例。

这就是需要运行的 Query Explorer 代码。它显示了一个选择器,用于在所有组之间进行选择,并且可以与 Workflows 以及整个 Discourse 系统一起使用。

-- [params]
-- group_id :group_id

WITH user_groups AS (
    SELECT gu.user_id
    FROM groups g
    JOIN group_users gu ON gu.group_id = g.id
    WHERE g.id = :group_id
    GROUP BY gu.user_id
)
SELECT ue.email
FROM users u
INNER JOIN user_emails ue ON u.id = ue.user_id
INNER JOIN user_groups ug ON u.id = ug.user_id
WHERE u.id > 0
ORDER BY u.id DESC