Google App Engine - 从域别名

时间:2016-03-23 22:23:22

标签: email google-app-engine

我有一个Google App Engine应用,有两个自定义域名(例如,a.comb.com)。

b.coma.com的Google App别名,即在Google Apps管理控制台下 - >域名 - >添加/删除域b.com列为" a.com"的域别名。

我希望我们的应用能够通过我们的AppEngine应用从b.com的地址发送电子邮件,如me@b.com或电子邮件别名alias@b.com。文档表明它是可能的,但它没有记录,或者我忽略了一些东西。

如果我尝试使用来自me@b.comalias@b.com的{​​{3}}发送电子邮件,则会收到错误#34; InvalidSenderError:未经授权的发件人。"

正如这个问题的标题所暗示的那样,补救措施似乎是在下面添加授权发件人:

  

云控制台 - > App Engine - >设置 - >应用程序设置 - >电子邮件API授权发件人

当我尝试添加例如me@a.com按预期方式将其添加到授权发件人列表中。当我尝试添加me@b.comalias@a.comalias@b.com时,它会失败。

我尝试添加地址时从云控制台获得的具体错误是:

  

无法添加授权发件人

     

您无权将这些用户添加到授权发件人列表中。 App Engine Mail api

根据上述链接,有关权限的相关位将为:

  

......必须通过......发送消息。

     
      
  • 电子邮件API授权发件人下的云平台控制台中列出的任何电子邮件地址
  •   
     

...

     

... Google Apps管理的域名的域管理员可以将其域中的所有用户添加到列表中。

     

如果您为Google Apps域设置了一个或多个别名,则可以从使用域别名的电子邮件地址发送电子邮件。例如,添加" xyz@domain.com"对授权发件人列表也具有允许从" xyz@alias.com"发送电子邮件的效果。

该文件指出,必须按照文件所示正确配置SPF记录,它们是:

$ dig a.com txt
...
a.com.      604556  IN  TXT "v=spf1 include:_spf.google.com ~all"
...

$ dig b.com txt
...
b.com.      604556  IN  TXT "v=spf1 include:_spf.google.com ~all"
...

虽然没有必要,但已从所有域配置DKIM,并且所有MX记录都指向Google Apps。

在Google Apps管理控制台下 - >用户 - >我 - >帐户 - >以下列出的别名(以及其他):

  • me@b.com
  • alias@a.com
  • alias@b.com

所以问题是:如果有的话,我在这里可以忽略的是。)阻止从域别名发送和/或b。)阻止从别名电子邮件地址发送一般情况?如果我不忽视某些事情,可能会采取什么措施?

另外,解决方法是使用第三方邮件程序,例如Mandrill,MailGun或SendGrid。对于我们最终的一个非常简单的用例来说,这些都是过度的,麻烦的和不必要的复杂性,因此对AppEngine的解决方案将是理想的。

1 个答案:

答案 0 :(得分:0)

我最终使用PostMark解决了这个问题。

还有许多其他固体选项,包括SendGrid,Mailgun,Mandrilla,MailChimp等。

我们选择了PostMark,因为它有一个令人愉快的模板系统,并专注于交易电子邮件的可传递性。