python - 收集错误报告?
问题描述
前提:我是一名初学者,正在寻找一种从海上用户发送错误报告的简单方法。
我为一些住在海的另一边(美国-欧洲)的朋友制作了一个脚本......我想在它们发生时收集自动错误报告。所以我的第一个想法是给自己发一封带有smtplib module
. 在测试家庭时它工作正常,但是一旦发件人“发送”,我的电子邮件提供商(gmail)当然会阻止连接,因为它来自“未知设备”。我已经按照某人的建议启用了“允许不太安全的应用程序”,但无济于事。
我正在寻找一种简单的处理方法。
是的,如果没有发送电子邮件,我可以让脚本忽略错误,然后进入我的谷歌帐户并启用这些设备,这样至少它可以从第二次运行开始工作.. 但它似乎不是一个程序员在这种情况下会这样做。我正在学习,所以我所追求的是使用该语言的解决方案。
一个没有限制的不同供应商也是一个好的开始,但我尝试了 Yahoo、Live、Yandex 但我无法让它们工作。有吗?
所以我的问题是:别人怎么做?对于像我这样的人来说,最好的解决方案是什么?
我已经阅读过有关哨兵或其他错误/错误跟踪的信息,但显然我需要的太多了
解决方案
您当然不应该在您无法控制的设备上远程执行的代码中包含例如 Gmail 凭据,因为我理解正确,Gmail 不太安全的设备问题发生在每个“用户”都在运行此代码并使用您的凭据时。这适用于任何其他提供商。
现在这并不简单,但一种方法是创建一个服务器端 API 端点,该端点可以接受 HTTP(s) 或任何其他协议请求,然后将在服务器端以更安全的方式进行身份验证与 Gmail。
电子邮件的概念是:错误 > Python 脚本 > API 调用 > 电子邮件
这可以在 API 端(例如 Flask)使用 Python 实现,使用带有 Amazon API Gateway 的 AWS Lambda 函数,但同样需要通过它自己来理解和理解,这将花费大量时间。您需要接触很多概念,例如身份验证令牌,以使其真正安全。
您能否详细说明一下代码需要在哪里运行以及您是否愿意尝试 AWS 或任何其他云提供商,或者是否可以访问互联网连接的服务器?这样可以更轻松地以骇人听闻的方式为您提供解决方案的完整示例,同时我会强调您在安全方面可能面临的问题。
推荐阅读
- django - 已居中输入顶部的 Django ModelForm 中心标签
- javascript - 如何在 MongoDB 中更新布尔值
- r - 如何绘制从使用 R 中的“caret”包创建的随机森林中选择的树
- ruby-on-rails - 在 application_controller 中设置变量并在模型中访问
- java - 表格标题中的 Jcheckbox 出现异常
- c# - 在其他 DataTemplates 中重用 UWP XAML DataTemplates
- c# - 转换参数 DataRowView
- android - 任务 ':app:transformClassesWithMultidexlistForDebug' 执行失败。> java.lang.UnsupportedOperationException(没有错误信息)
- javascript - YouTube 属性通过但未反映在视频中
- python - pytest 如何处理调用其他夹具的夹具?