我有一个Google App Engine应用,有两个自定义域名(例如,a.com
和b.com
)。
域b.com
是a.com
的Google App别名,即在Google Apps管理控制台下 - >域名 - >添加/删除域b.com
列为" a.com"的域别名。
我希望我们的应用能够通过我们的AppEngine应用从b.com
的地址发送电子邮件,如me@b.com
或电子邮件别名alias@b.com
。文档表明它是可能的,但它没有记录,或者我忽略了一些东西。
如果我尝试使用来自me@b.com
或alias@b.com
的{{3}}发送电子邮件,则会收到错误#34; InvalidSenderError:未经授权的发件人。"
正如这个问题的标题所暗示的那样,补救措施似乎是在下面添加授权发件人:
云控制台 - > App Engine - >设置 - >应用程序设置 - >电子邮件API授权发件人
当我尝试添加例如me@a.com
按预期方式将其添加到授权发件人列表中。当我尝试添加me@b.com
,alias@a.com
或alias@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管理控制台下 - >用户 - >我 - >帐户 - >以下列出的别名(以及其他):
所以问题是:如果有的话,我在这里可以忽略的是。)阻止从域别名发送和/或b。)阻止从别名电子邮件地址发送一般情况?如果我不忽视某些事情,可能会采取什么措施?
另外,解决方法是使用第三方邮件程序,例如Mandrill,MailGun或SendGrid。对于我们最终的一个非常简单的用例来说,这些都是过度的,麻烦的和不必要的复杂性,因此对AppEngine的解决方案将是理想的。
答案 0 :(得分:0)
我最终使用PostMark解决了这个问题。
还有许多其他固体选项,包括SendGrid,Mailgun,Mandrilla,MailChimp等。
我们选择了PostMark,因为它有一个令人愉快的模板系统,并专注于交易电子邮件的可传递性。