0

我知道这已被多次看到,但我不明白我做错了什么。我正在尝试通过 rake 任务发送邮件,但出现此错误

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

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

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

非常感谢您的时间!

4

2 回答 2

0

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

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

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

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

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

于 2012-08-17T07:47:58.473 回答
0

作为一种解决方法,我在每个使用url_for. 对我来说幸运的是只有两个电话,但如果有人知道得更好,我想知道答案。

于 2012-08-21T11:11:21.427 回答