python - Sendgrid 使用 API 密钥进行身份验证
问题描述
我从 SentGrid 收到以下邮件,
我们正在通过电子邮件通知您,即将要求您在 2020 年 12 月 9 日之前将使用 Twilio SendGrid 的身份验证方法更新为 API 密钥,以确保服务不间断并提高您帐户的安全性。我们的记录显示,您在过去 180 天内对您的 SendGrid 帐户的 1 位用户的一个或多个 API 请求使用了用户名和密码的基本身份验证。
为什么是 API 密钥?
这是为了增强我们所有用户的安全性。使用您的帐户用户名和密码进行身份验证不如使用 API 密钥安全。与您的用户名和密码不同,API 密钥是唯一生成的,可以设置为限制访问并为给定请求指定权限。
需要采取什么措施?
请按照以下步骤识别您的身份验证方法并将其替换为 API 密钥,然后实施双重身份验证 (2FA) 以增强安全性。如果不采取任何行动会发生什么?2020 年 12 月 9 日,我们将不再接受使用用户名和密码的基本身份验证,我们将要求 2FA 登录您的帐户。如果您在该日期之后尝试使用您的任何用户的用户名和密码验证您的 API 请求或 SMTP 配置,您的请求将被拒绝。我们要提前感谢您及时关注这些要求。如果您想了解有关如何增强帐户安全性的更多信息,请查看此帖子。如果您有任何问题或需要帮助,请访问我们的文档或联系我们的支持团队。谢谢 Twilio SendGrid 团队
目前我正在使用以下凭据向 sendgrid 发送邮件,
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_USE_TLS = False
EMAIL_PORT = 587
EMAIL_HOST_USER = 'xx@gmail.com'
EMAIL_HOST_PASSWORD = 'xxx'''
Is this change affect me?
解决方案
是的,一旦他们强制进行两因素身份验证 (2FA),您的应用程序将无法仅使用用户名/电子邮件和密码进行基本身份验证。
因此,您需要开始使用 API 密钥。
迁移很简单:
- 登录到 sendgrid 帐户
- 转到https://app.sendgrid.com/settings/api_keys
- “生成 API 密钥” - 生成新的 API 密钥并复制粘贴以供以后使用
- 代码更改:
- EMAIL_HOST_USER = 'apikey'(用户名只能是这个)
- EMAIL_HOST_PASSWORD = 'YOUR_API_KEY'
- 测试一下
如果更改有效,您就可以开始并从基本身份验证迁移到 API 密钥。
推荐阅读
- python - float.__str__ 在 python 2 和 3 中的行为不同?
- python - 将文本从一个文件传输到另一个文件
- reactjs - react中子组件的渲染与react native不同吗?
- r - 为什么 R 不能读取这个 CSV 文件?
- plotly - 有没有办法将情节悬停模式与水平线“比较”?
- css - 动画透视
- c# - 用户代码 C# 实体框架未处理 ArgumentException
- amazon-web-services - 在 terraform 中,如何获取作为 aws_autoscaling_group 的一部分创建的所有实例的信息?
- python - 来自 C++ 的回调 python 函数,对象被破坏
- asp.net-mvc - 在 mvc 中是否可以在不使用 _layout 和 Partial 视图的情况下将页脚 HTML 应用于多个视图?