【问题标题】:Sending mail by Unauthorised sender in Google AppEngine在 Google AppEngine 中由未经授权的发件人发送邮件
【发布时间】:2015-08-30 07:30:22
【问题描述】:

我有一个与我的域连接的 Google AppEngine Python 应用程序。
我希望能够从任何电子邮件发送电子邮件,例如:mailname@mydomain.com

所以我使用 sendmail() 并设置 mailobject.sender = "sender@mydomain.com",但它不起作用。
另外我做了一个接收功能,但是我不想在这里接收邮件,所以我就做了

def receive(self, mail):
    pass

在 Google 文档中https://cloud.google.com/appengine/docs/python/mail/receivingmail

  • 应用程序的任何有效电子邮件接收地址(例如 xxx@APP-ID.appspotmail.com)。
  • 任何有效的电子邮件接收地址 域帐户,例如 support@example.com。域帐户是 Google 域之外的帐户,其电子邮件地址 不以@gmail.com 或@APP-ID.appspotmail.com 结尾。

我应该在应用程序中添加什么才能发送邮件?

【问题讨论】:

    标签: python google-app-engine email sendmail


    【解决方案1】:

    来自https://cloud.google.com/appengine/docs/python/mail/emailmessagefields

    发件人

    发件人的电子邮件地址,发件人地址。发件人 地址必须是以下类型之一:

    • 应用程序的注册管理员的地址。你可以加 管理员使用管理控制台访问应用程序。

    • 使用 Google 登录的当前请求的用户地址 帐户。您可以确定当前用户的电子邮件地址 用户 API。用户的帐户必须是 Gmail 帐户,或者位于 由 Google Apps 管理的域。

    • 应用的任何有效电子邮件接收地址(例如 xxx@APP-ID.appspotmail.com)。

    这意味着没有记录在案的从 *@example.org 发送的方式。我认为如果您的 @example.org 是谷歌应用程序域,那么有一种方法,但我找不到任何文档。

    【讨论】:

      【解决方案2】:

      假设 mydomain.com 已注册为 Google 域帐户,请尝试在 App Engine 管理控制台的“权限”部分中添加角色“开发者”的 sender@mydomain.com:https://appengine.google.com/permissions?&app_id=s~yourapp(将 yourapp 替换为您的应用 ID)

      欲了解更多信息,请参阅https://cloud.google.com/appengine/docs/python/mail/sendingmail

      【讨论】:

      • 但是发件人的名字是自动生成的,所以没有在权限部分添加就没有办法了吗?
      • @Sindbag 如果您将 sender@mydomain.com 添加到权限部分,那么文档中的示例将起作用。
      • 问题是这只是一个例子,还有很多不同的名字
      • 我不明白,当你说有更多不同的名字时,你的意思是你想从很多不同的电子邮件地址发送? Google 要求您像这样将发件人地址列入白名单的原因是为了让某人更难创建 AppEngine 应用来发送垃圾邮件。
      • 我知道,但是对于任何@app-id.appspotmail.com 都有效,但对于@mydomain.com 则无效
      猜你喜欢
      • 2012-07-22
      • 2016-06-21
      • 2017-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-11
      • 2018-11-28
      相关资源
      最近更新 更多