这是坚持技术写作计划(含翻译)的第29篇,定个小目标999,每周最少2篇。
Sentry是一款错误日志采集、聚合框架。有Saas版,也可以本地部署。部署可以参考官网或者我之前写的 30-前端错误日志上报及网站统计(sentry+matomo)
本文主要讲解Sentry默认禁用qq邮箱的排查思路以及如何解决。
添加和自行注册qq邮箱都报无效邮箱。


但是QQ邮箱,烂归烂,在国内存量还是挺大的。
排查思路
F12大法,看到错误信息是从服务端返回的。

拿到 错误提示 Enter a valid email address. 去github搜,



拿到
INVALID_EMAIL_ADDRESS_PATTERN 再次搜索
居然是硬编码到代码里的。发现有两个相关的issues.
通过 getsentry/sentry How to custom INVALID_EMAIL_ADDRESS_PATTERN? #13541 了解到,官方发现,qq.com 是有很多滥用行为,所以直接硬编码拉黑 [捂脸] .
解决
解决的办法也简单,如果是本地运行的,修改 /usr/local/lib/python2.7/site-packages/sentry/conf/server.py ,如果是sass版的,换个邮箱。
注意,如果是 docker 运行的, docker exec -it sentry /bin/sh -> sed -i "s/qq/xx/g" /usr/local/lib/python2.7/site-packages/sentry/conf/server.py ,重新拉取镜像时,又会变回 qq.com
可以 将 /usr/local/lib/python2.7/site-packages/sentry/conf/server.py 挂载到宿主机 docker run -v /opt/sentry/server.py:/usr/local/lib/python2.7/site-packages/sentry/conf/server.py ....