gpt4 book ai didi

python - 如何代表 yahoo、hotmail 或 .edu 用户在 GAE 中发送电子邮件?

转载 作者:太空宇宙 更新时间:2023-11-03 13:52:03 27 4
gpt4 key购买 nike

在 GAE 上,非 gmail 用户可以使用他们的非 gmail 电子邮件创建一个 Google 帐户并登录到 google app engine 应用程序。但是,从该电子邮件发送似乎并不总是有效。

例如,假设 foobar@yahoo.com 创建了一个 google 帐户并且他们登录了。那么,GAE 应该能够在用户请求期间从 foobar@yahoo.com 发送电子邮件。

问题是这似乎不适用于雅虎电子邮件帐户和其他帐户。根据我的经验,只有以下用户可以代表他们发送电子邮件:

  • 当前登录的 gmail 用户
  • 当前登录的用户使用在谷歌应用程序上运行的电子邮件
  • 管理员

但是,您不能代表使用以下电子邮件地址的用户发送电子邮件:

  • yahoo 和 hotmail 用户
  • .gov 或 .mil 用户
  • 大多数 .edu 用户,尽管我认为有些学校使用 google apps 并且它们可以工作。

如果我从这些电子邮件地址发送,我会收到以下错误:

   message.send();
File "/base/python_runtime/python_lib/versions/1/google/appengine/api/mail.py", line 799, in send
raise ERROR_MAP[e.application_error](e.error_detail)
InvalidSenderError: Unauthorized sender

我是不是漏掉了什么?

我知道在这个主题上有类似的问题,但我认为他们没有解决这些问题。

最佳答案

您的应用程序无权从不属于您的地址发送电子邮件。

这样做被称为欺骗,在过去 8 年中已经做了很多工作来防止欺骗:DKIM、SPF...

如果您需要发送电子邮件,您需要有自己的电子邮件地址/域来发送此应用程序的电子邮件,并且您还需要处理退回邮件。


更新:

谷歌账户

可以使用第 3 方域电子邮件地址(例如 hotmail、yahoo、*.edu 等)创建 Google 帐户。会有一个邮件确认步骤来验证邮件地址,但可能没有比这更大的关系了。电子邮件地址是“用户名”,还有一个由 Google 创建的密码,与第 3 方域无关。

Google 帐户不必具有邮件服务组件。您可以创建 Google 帐户但没有 Gmail。

第 3 方域上的 Google 电子邮件

Google Apps 可以在第 3 方域“上”运行,这可以但不一定包括 Google 电子邮件。

Google 电子邮件可以在任何域上运行而无需任何其他“应用程序”,他们提供电子邮件外包,这对教育部门非常有吸引力。在这种情况下,Google 是该域的电子邮件的权威。

代邮

Google 电子邮件具有设置“代表”电子邮件的功能。这需要配置。确认电子邮件将发送到目标帐户。创建电子邮件后,将使用 邮件信封 中的原始帐户的电子邮件地址发送电子邮件,因此任何传递状态消息(延迟、拒绝)都将返回到该帐户。原始电子邮件地址也将在 sender header 中。您代表发送的地址将显示在邮件的 from header 中,但除此之外,就安全设置和验证而言,它是来自 Google 的 Google 电子邮件。

快速搜索返回了一些技术博客网站,表明他们正在考虑停用此功能以支持第三方 SMTP 服务。

第三方 SMTP 服务器

因此,有人可以使用邮件服务提供商的 SMTP 服务器、用户名和密码配置他们的 Google 电子邮件帐户,并使用它通过邮件服务提供商的有效服务器通过他们的 Google 邮件界面发送电子邮件。因此,这封电子邮件将真正“源自”该域的基础设施。


我没有阅读此 GAE 函数发送电子邮件的文档。但是,我可以看到,如果有人登录了他们的 Google 帐户并且该帐户有邮件服务,则可以使用 API 从该帐户发送电子邮件。

但是,Google 不会生成“来自”未为其分配权限的第 3 方域的电子邮件。该电子邮件将无效;它将被“欺骗”。它可能不符合各种安全增强功能,可能会被恶意使用,并会使它们名誉扫地。

我希望这能让您更清楚地了解情况。

如果缺少这方面的文档,可能是那些编写它的人,对电子邮件如此熟悉,可能很难想象有人会认为这是可能的。

关于python - 如何代表 yahoo、hotmail 或 .edu 用户在 GAE 中发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5917547/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com