我在 Mandrill 中有一个带有单个 API 密钥的项目。它有三个子帐户:生产、暂存、开发。我创建了一个规则,拒绝与一小部分域列表不匹配的所有请求,并且我想将该规则应用于暂存和开发子帐户。我们的想法是在我们测试时不会意外地向客户发送垃圾邮件。
我看不到如何将规则应用于不同的子帐户。是否可以?如果没有,并且我需要为每个环境创建不同的 API,有人可以解释何时使用子帐户以及何时创建不同的 API 密钥。
作为奖励,当电子邮件匹配规则时,是否可以将其重新路由到指定地址而不是拒绝它?
我在 Mandrill 中有一个带有单个 API 密钥的项目。它有三个子帐户:生产、暂存、开发。我创建了一个规则,拒绝与一小部分域列表不匹配的所有请求,并且我想将该规则应用于暂存和开发子帐户。我们的想法是在我们测试时不会意外地向客户发送垃圾邮件。
我看不到如何将规则应用于不同的子帐户。是否可以?如果没有,并且我需要为每个环境创建不同的 API,有人可以解释何时使用子帐户以及何时创建不同的 API 密钥。
作为奖励,当电子邮件匹配规则时,是否可以将其重新路由到指定地址而不是拒绝它?
我会使用单独的子帐户来跟踪多租户环境中的不同系统(例如,您通过同一个 Mandrill 帐户充当多个客户或部门的服务提供商)。
在您的情况下,我肯定会为每个环境使用单独的 API 密钥。您可能想要利用的主要功能是能够将其中一个密钥(例如登台)设置为“测试密钥”,这样电子邮件就不会被发送,它们只会在 Mandrill 中被跟踪,所以你可以验证它们是否正常工作。
您最不想发生的事情是来自非生产环境的电子邮件实际上会发送给真实用户。
我通常做事的方式是让我的开发系统使用非测试密钥,但只有虚拟用户的电子邮件地址全部返回给我,以便我可以测试。然后在我的登台系统中,我使用真实用户的测试密钥(生产用户数据库的副本),以便 Mandrill 捕获发送的任何电子邮件以验证它们是否正在工作,但永远不会被转发到实际用户。
我假设您基于域列表的拒绝规则旨在实现与使用测试密钥相同的结果 - 在这种情况下,使用测试密钥并忘记规则。
您不能将规则应用于特定的子账户 - 只能应用于特定的 API 密钥。
不,您不能根据规则的结果将电子邮件重新路由到不同的地址 - 最好的办法是连接一个 webhook 以某种方式通知您的系统该规则已被触发,以便您的系统可以重新发送电子邮件 - 但这需要自定义开发工作。
同样,如果这实际上只是为了避免在测试时向真实用户发送电子邮件,这就是测试密钥的用途。