首页 > 解决方案 > 收集错误报告?

问题描述

前提:我是一名初学者,正在寻找一种从海上用户发送错误报告的简单方法。

我为一些住在海的另一边(美国-欧洲)的朋友制作了一个脚本......我想在它们发生时收集自动错误报告。所以我的第一个想法是给自己发一封带有smtplib module. 在测试家庭时它工作正常,但是一旦发件人“发送”,我的电子邮件提供商(gmail)当然会阻止连接,因为它来自“未知设备”。我已经按照某人的建议启用了“允许不太安全的应用程序”,但无济于事。

我正在寻找一种简单的处理方法。

是的,如果没有发送电子邮件,我可以让脚本忽略错误,然后进入我的谷歌帐户并启用这些设备,这样至少它可以从第二次运行开始工作.. 但它似乎不是一个程序员在这种情况下会这样做。我正在学习,所以我所追求的是使用该语言的解决方案。

一个没有限制的不同供应商也是一个好的开始,但我尝试了 Yahoo、Live、Yandex 但我无法让它们工作。有吗?

所以我的问题是:别人怎么做?对于像我这样的人来说,最好的解决方案是什么?

我已经阅读过有关哨兵或其他错误/错误跟踪的信息,但显然我需要的太多了

标签: pythonpython-3.xgmailsmtplibbug-tracking

解决方案


您当然不应该在您无法控制的设备上远程执行的代码中包含例如 Gmail 凭据,因为我理解正确,Gmail 不太安全的设备问题发生在每个“用户”都在运行此代码并使用您的凭据时。这适用于任何其他提供商。

现在这并不简单,但一种方法是创建一个服务器端 API 端点,该端点可以接受 HTTP(s) 或任何其他协议请求,然后将在服务器端以更安全的方式进行身份验证与 Gmail。

电子邮件的概念是:错误 > Python 脚本 > API 调用 > 电子邮件

这可以在 API 端(例如 Flask)使用 Python 实现,使用带有 Amazon API Gateway 的 AWS Lambda 函数,但同样需要通过它自己来理解和理解,这将花费大量时间。您需要接触很多概念,例如身份验证令牌,以使其真正安全。

您能否详细说明一下代码需要在哪里运行以及您是否愿意尝试 AWS 或任何其他云提供商,或者是否可以访问互联网连接的服务器?这样可以更轻松地以骇人听闻的方式为您提供解决方案的完整示例,同时我会强调您在安全方面可能面临的问题。


推荐阅读