如何在 Sentry 中配置 SMTP 设置?

How to config SMTP Settings in Sentry?

如何在 Sentry 中配置 SMTP 设置?

我在 onpremise/config.yml 上设置了我的 SMTP 邮件服务器配置,然后我做了如下操作:

sudo docker-compose run --rm web upgrade
sudo docker-compose up -d(在此之前,我删除了之前考虑的容器)

但是在 Sentry 邮件设置面板中没有出现我的 SMTP 配置:


注意:我正在使用 onpremise 哨兵 docker 包。

我该怎么办?

如有任何帮助,我们将不胜感激。

您需要在config.yml中添加一些配置。

例如:

mail.host: 'smtp.gmail.com'
mail.port: 465
mail.username: 'sentry.server'
mail.password: 'Pa5$w0rD'
mail.use-tls: true
mail.from: 'sentry.server@gmail.com'

已解决的问题:

我使用 Dockerfile 将我的 Sentry 版本从 8.22.0 更新到 9.0.0,并配置 config.yml 文件如下:

onpremise包裹config.yml一件:

###############
# Mail Server #
###############

mail.backend: 'smtp'  # Use dummy if you want to disable email entirely
mail.host: 'smtp.gmail.com'
mail.port: 587
mail.username: 'account@gmail.com'
mail.password: '********'
mail.use-tls: true
# The email address to send on behalf of
mail.from: 'account@gmail.com'

Docker 文件:

FROM sentry:9.0-onbuild

或者您可以在 onpremise 路径中执行 $ git pull(以获取最新更改)。

最后:

docker-compose build
docker-compose run --rm web upgrade
docker-compose up -d

如果你是 运行 Docker 检查你的 docker-compose.yml

您很可能会覆盖 SENTRY_EMAIL_HOST 变量和其他如下变量:

SENTRY_EMAIL_HOST=smtp.gmail.com 
SENTRY_EMAIL_PORT=587 
SENTRY_EMAIL_PASSWORD={pass} 
SENTRY_EMAIL_USER={email} 
SENTRY_EMAIL_USE_TLS=true 
SENTRY_SERVER_EMAIL={email}

https://github.com/getsentry/onpremise/blob/master/docker-compose.yml#L24

我必须在 运行 docker-compose up --build -d 之前重建所有容器才能让哨兵捡起零钱。也许仅重建 worker 就足够了,但无论如何重建一切都不会花费很长时间。

原因是 worker 容器从 config.yml 的副本中读取。重建过程将再次将更改的 config.yml 复制到 worker 容器中。

None 以上对我有用。唯一有效的是:修改 config.yml 文件和 运行 docker-compose restart,然后一切正常。