由Google AppEngine中的未经授权的发件人发送邮件

时间:2015-06-14 20:49:45

标签: python google-app-engine email sendmail

我有一个与我的域名相关联的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结尾。

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

2 个答案:

答案 0 :(得分:2)

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

  

<强>发送方

     

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

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

  •   
  • 与Google签署的当前请求的用户地址   帐户。您可以使用以下命令确定当前用户的电子邮件地址   用户API。用户的帐户必须是Gmail帐户,或者是帐户   由Google Apps管理的域名。

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

  •   

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

答案 1 :(得分:0)

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

有关详细信息,请参阅https://cloud.google.com/appengine/docs/python/mail/sendingmail