13

我正在尝试在我的网站上使用谷歌应用引擎的邮件服务。每当我访问发送电子邮件的页面时,它都会显示一些错误。该错误表明我正在使用未经授权的发件人发送邮件。这是发送电子邮件的代码:

mail.send_mail(sender="myapp@appspot.gserviceaccount.com",
     to=input_dict["email"],
     subject="Mondays user activation",
     body=content)

当我在本地(使用)试用该站点时,dev_appserver.py它不会显示错误,但不会发送电子邮件(注意:--enable_sendmail当我在本地尝试时,我必须添加该选项)。该错误仅在我发布网站时出现。

有人知道我做错了什么吗?在此先感谢您的帮助!

4

4 回答 4

27

myapp@appspot.gserviceaccount.com 是什么?您可能无法从该地址发送邮件。

App Engine 应用程序可以代表应用程序的管理员以及拥有 Google 帐户的用户发送电子邮件。

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

  • 应用程序的注册管理员的地址。您可以使用管理控制台将管理员添加到应用程序。

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

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

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

https://developers.google.com/appengine/docs/python/mail/sendingmail

于 2012-07-23T22:06:40.007 回答
10

首先按照这些步骤

https://cloud.google.com/appengine/docs/python/mail/#who_can_send_mail

然后您需要在云控制台中手动添加发件人电子邮件

如何添加授权发件人

于 2017-01-21T19:13:24.273 回答
3

您可能还必须将用于发送电子邮件的电子邮件地址添加到 App Engine 应用程序设置电子邮件 API 授权发件人。

请参阅https://cloud.google.com/appengine/docs/python/mail/#Python_Sending_mail

于 2016-02-05T23:00:23.013 回答
2

在此处将未经授权的电子邮件地址添加为管理员: https ://console.developers.google.com/project/_/permissions/projectpermissions

于 2015-10-29T08:04:23.983 回答