我是否可以再将App Engine默认服务帐户用作我的Python App Engine项目的Email API授权发件人?

时间:2017-09-10 19:13:59

标签: google-app-engine

我有一个App Engine Python应用程序,我希望偶尔发送自动电子邮件。

过去,使用其他应用程序,我可以在App Engine设置页面上将默认服务帐户(例如my-project-id@appspot.gserviceaccount.com)设置为授权的电子邮件API发件人:

现在,当我添加服务帐户电子邮件并推送"保存"按钮,我收到一条弹出通知,上面写着"保存设置......"没什么。

我从IAM& amp;获得了默认服务帐户值。管理页面:

我甚至已将App Engine角色添加到App Engine默认服务帐户成员。

注意:我能够将拥有该项目的个人电子邮件帐户设为授权发件人并成功发送电子邮件。但我更愿意使用App Engine服务帐户发送API电子邮件。

1 个答案:

答案 0 :(得分:0)

显然,我过于复杂了。在我的旧项目中,我将项目的默认App Engine服务帐户添加为授权发件人,如问题中所述。似乎这既不是必要的,也可能是不可能的。

要从App Engine项目帐户使用App Engine Mail API发送电子邮件,只需将代码中的发件人值设置为格式如下的地址:any-name@my-project-id.appspotmail.com

例如:

mail.send_mail(sender='no-reply@my-project-id.appspotmail.com',
               to='user@example.com',
               subject='App Engine Mail API Test',
               body='Please do not reply.')

这在the App Engine documentation中正确陈述:

  

谁可以发送邮件

     

出于安全考虑,邮件的发件人地址必须是以下之一:

     
      
  • 当前已登录的用户的Gmail或Google Apps帐户
  •   
  • @ [APP_NAME] .appspotmail.com或任何@ [APP_ALIAS] .appspotmail.com
  • 表格的任何电子邮件地址   
  • 电子邮件API授权发件人下的云平台控制台中列出的任何电子邮件地址
  •