Mandrill 无效键错误

Posted

技术标签:

【中文标题】Mandrill 无效键错误【英文标题】:Mandrill invalid key error 【发布时间】:2015-10-31 18:22:15 【问题描述】:

我在 cloud9 上开发的应用程序有问题。我正在使用 mandrill 发送电子邮件,但它给我带来了配置问题。这似乎是一个无效的密钥错误,但在本地开发中它可以使用相同的配置...

开发环境中有我的smtp:

config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.default_url_options =  host: config.app_domain 
config.action_mailer.smtp_settings = 
    address: 'smtp.mandrillapp.com', 
    port: '587',
    enable_starttls_auto: true,
    user_name: ENV['mandrill_username'],
    password:  ENV['mandrill_password'],
    authentication: :plain,
    domain:    ENV['mandrill_domain']

感谢您的帮助。

【问题讨论】:

如果您在 cloud9 上打开控制台:rails console 并输入 ENV['mandrill_username'] 您会收到正确的用户名吗? @Rob 是的,它是正确的。我正在使用 figaro gem 作为环境变量。问题不在于变量。 这里可能发生了其他事情,但“无效密钥”错误掩盖了根本问题。如果您添加 config.action_mailer.raise_delivery_errors = true 并重新启动您的应用并再次尝试发送,您应该能够看到幕后发生的事情以进一步排除故障。 【参考方案1】:

由于 Cloud9 工作空间托管在 GCE 服务器上,因此从 GCE 实例发送电子邮件存在一些限制。以下文章解释了这些限制:

https://cloud.google.com/compute/docs/tutorials/sending-mail/

【讨论】:

以上是关于Mandrill 无效键错误的主要内容,如果未能解决你的问题,请参考以下文章

山魈 API 错误

Mandrill API 错误地显示“已发送”状态

从 Mandrill Webhook 接收到的 JSON 字符串无效

Mandrill:请输入一个数组

通过 Mandrill 使用 Elmah 发送错误电子邮件

Mandrill 电子邮件发送错误:请输入一个数组