0

我已将 Mailgun 设置为将电子邮件转发到我的/rails/action_mailbox/mailgun/inbound_emails/mime端点。

当我的端点收到请求时,它会给出以下错误:

ArgumentError(缺少必需的 Mailgun API 密钥。在应用程序的加密凭据中设置 action_mailbox.mailgun_api_key 或提供 MAILGUN_INGRESS_API_KEY 环境变量。)

然而,MAILGUN_INGRESS_API_KEY实际上是设定的。当我ENV["MAILGUN_INGRESS_API_KEY"]在控制台中运行时,我看到了我的 API 密钥。我什至从 GitHub粘贴了API 密钥确定代码,看看那里是否有问题,但我得到的返回值是我的实际 API 密钥。

关于问题可能是什么的任何想法?

4

1 回答 1

0

只需检查几件事以查看是否可以纠正,据我所知,您比我更了解 Rails。

  • 您是否在开发环境配置中设置了 mailgun api_keyconfig/environments/development.rb
config.action_mailer.delivery_method = :mailgun
  config.action_mailer.mailgun_settings = {
    api_key: ENV['MAILGUN_INGRESS_API_KEY'],
    domain: 'your_domain.com',
    # api_host: 'api.eu.mailgun.net'  # Uncomment this line for EU region domains
  }

现在让我们做一个测试,访问 (bin.mailgun.net) 并获取粘贴 bin url 然后运行rails c

mg_client = Mailgun::Client.new(ENV["MAILGUN_INGRESS_API_KEY"], "bin.mailgun.net", "aecf68de_you_got_visiting_site", ssl = false)
message_params = {  from: 'bob@sending_domain.com',
                    to: 'sally@example.com',
                    subject: 'The Ruby SDK is awesome!',
                    text: 'It is really easy to send a message!'
                  }
result = mg_client.send_message("your_sending_setup_on_mailgun_domain.com", message_params)

puts result.inspect

看看有什么消息来了,你可能会明白。对于开发也可能存在环境配置问题,您必须为生产设置不同的设置。还要检查粘贴箱是否受到任何打击。

于 2021-05-18T02:58:52.390 回答