通过rake任务发送邮件:缺少要链接的主机

时间:2012-08-17 07:41:22

标签: ruby-on-rails-3 email heroku rake

我知道这已经多次见过,但我不知道我做错了什么。我正在尝试通过rake任务发送邮件,我收到了此错误

  

缺少主机链接!请提供:host参数,设置default_url_options [:host],或将:only_path设置为true

staging环境中(托管在heroku上)。困扰我的是,当我启动控制台时,我可以毫无困难地发送邮件。在开发过程中,没有麻烦我直接通过rake任务发送邮件。

您可以在this gist中查看环境文件,邮件程序类和rake任务。我真的不明白我在这里做错了什么。

非常感谢你的时间!

2 个答案:

答案 0 :(得分:0)

当我得到这个时,我必须将:host值放在production.rb的App :: Application.configure块中。

我不知道这是否会转换为heroku。

在production.rb中,在configure块中添加以下内容:

  config.action_mailer.default_url_options = { 
    :host => "your-domain.com" 
  }

如果这需要变量(对于heroku),你可以在这里使用环境变量。

答案 1 :(得分:0)

作为解决方法,我在每个使用url_for的方法中指定主机。幸运的是,这只是两个电话,但如果有人知道的话,我想知道答案。