如何通过管理面板发送包含信息的电子邮件

是否有办法创建包含管理员仪表板页面上活动信息的每周电子邮件?主要是“社区健康”和“用户指标”下的项目。

您可以使用 Data Explorer 获取数据,并使用 automation 插件将查询结果作为个人消息发送。

2 个赞

是否有办法使用现有的 Discourse 来实现这一点?因为它已经有了我需要的信息可视化。

我将此 CSS 添加到了我的主题中。这将允许您打印管理仪表板,而无需显示侧边栏和其他不必要的窗口小部件。总的来说,这也使其他页面更易于打印。我刚刚将我的打印到了 PDF,我可以手动完成,比如每周日进行一次,以便存储我的网站统计数据的快照。

@media print {
  #main-outlet-wrapper {
    display: block;
  }

  .sidebar-wrapper, .d-page-header, nav {
    display: none;
  }

  #main-outlet {
    width: 100%;
    padding: 2em !important;
    max-width: unset;
  }
}

关于自动化打印以便将其放入 cron 作业,到目前为止我还没有成功。这是一个尝试。目前返回 404,我假设是因为身份验证失败,尽管我确实从 devtools 复制了 cookie。也许我错过了身份验证的某些细微差别。另外,我不知道图表是否会在触发打印之前正确加载。

#!/bin/bash

# 定义 URL 和输出文件名
DATE=$(date +"%Y-%m-%d")
OUTPUT="${DATE} Site Report.pdf"

DOMAIN="mysite.org"
COOKIES_DB="$HOME/.config/chromium/Default/Cookies"
COOKIES_FILE="./cookies.txt" # 从 devtools 复制 cookie 并放在此处

COOKIE_HEADER=$(cat $COOKIES_FILE)
#echo "$COOKIE_HEADER"

# 运行 Chrome 或 Chromium 无头模式打印到 PDF
chromium --headless --disable-gpu --print-to-pdf="$OUTPUT" \
  --extra-headers="Cookie: $COOKIE_HEADER" \
  --extra-headers="Accept: text/html" \
  --extra-headers="Accept-Encoding: gzip" \
  --extra-headers="Accept-Language: en-US,en;q=0.9" \
  "https://$DOMAIN/admin"

echo "已保存到 $OUTPUT"