我刚收到这封来自 SendGrid 的邮件,我目前正使用它作为 Discourse 的 SMTP 服务。
您好,
我们发邮件通知您,为确保邮件投递服务不中断并提升账户安全性,您需在 2021 年 1 月 13 日之前 将 SMTP 身份验证方式更新为仅使用 Twilio SendGrid API 密钥。我们的记录显示,在过去 30 天内,有一个或多个使用该邮箱地址的用户曾使用您的登录凭据配置 SendGrid SMTP。如果您不采取行动,您的 SMTP 邮件投递服务将于 2021 年 1 月 13 日被拒绝。
为什么使用 API 密钥?
这是为了增强所有用户的安全措施。使用账户用户名和密码进行身份验证不如使用 API 密钥安全。与用户名和密码不同,API 密钥是独一无二的,可以设置以限制访问权限并为特定请求指定权限。
需要采取什么行动?
请按照以下步骤操作,识别并更换您的 SMTP 配置以及任何 API 请求的身份验证方式为 API 密钥,然后实施双因素认证(2FA)以增强安全性。
如果不采取行动会发生什么?
从 2021 年 1 月 13 日起,我们将不再接受使用用户名和密码进行身份验证,并且登录账户将强制要求启用 2FA。如果在该日期之后,您或您的任何用户仍尝试使用用户名和密码进行 API 请求或 SMTP 配置的身份验证,这些请求将被拒绝。
我们提前感谢您的及时关注。如果您想了解更多关于如何增强账户安全性的信息,请查看 这篇帖子。如果您有任何问题或需要帮助,请访问 我们的文档 或联系我们的 支持团队。
谢谢,
Twilio SendGrid 团队
我使用的是 Discourse 安装时的默认设置,从未进行过任何自定义修改。
我需要更改什么吗?
Richie
(Richie Rich)
2
如果您仅将 SendGrid 用于 Discourse(即没有其他网站或服务调用 SendGrid),那么是的,您将会如此。
Richie
(Richie Rich)
3
这可能会有所帮助。
如果您的 user_name 值像下面的示例一样设置为 apikey,那么您无需进行任何更改。
啊,没错,我在那里有一个用户名,而不是 API 密钥。
你能提供一下具体需要做什么的简单步骤吗?
Richie
(Richie Rich)
5
两部分内容……
第一部分,获取 API 密钥:
登录您的 SendGrid 账户,此时不要启用双因素认证(2FA)(请参照他们的邮件提示!)
点击左侧菜单中的“设置”(SETTINGS)。
点击“API 密钥”(API KEYS)。
点击右上角的“创建 API 密钥”(Create API Key)按钮。
为 API 密钥命名,例如:discourse
点击“限制访问”(RESTRICTED ACCESS)。
然后仅选择“邮件发送”(Mail Send)作为权限/访问范围:
点击最底部的“创建并查看”(Create and View)按钮。
现在您将看到新的 API 密钥。
立即复制它,现在:smiley:
切勿丢失,一旦丢失无法找回(但您可以创建一个新的)。
Richie
(Richie Rich)
6
第二部分,用新详情更新 Discourse。
现在你已拥有新的 SMTP 用户名和密码 
SMTP 用户名非常令人困惑,是 apikey。
密码是你刚才复制并妥善保管的那个非常长且复杂的密钥值。
下一步是编辑你的 app.yml 文件。
找到现有的 SMTP 用户名/密码组合,并用你新的 apikey/值对替换它们。
我想你可能需要在此时重新构建——记不清了 
你可能还需要添加这一行,再次抱歉,记不清了:
DISCOURSE_SMTP_ENABLE_START_TLS: true
希望这对你有用,朋友 