Prelaunchr邮件不工作

时间:2015-05-08 04:47:03

标签: ruby-on-rails

我在Heroku上运行Harry的预启动器(https://github.com/harrystech/prelaunchr),并且当新用户在网站上注册时发送的欢迎电子邮件不会发送出去。 rails app正在使用Delayed :: Job,当我运行时

heroku rake jobs:work

我得到以下输出:

 Rendered user_mailer/signup_email.html.erb (1.2ms)
[Worker(host:46d2c895-5e66-464b-8594-510461de915c pid:3)] Class#signup_email failed with ActionView::Template::Error: undefined method `encoding' for {:host=>"windreturns.com"}:Hash - 9 failed attempts

^注意:host =>" windreturns.com"是我的域名,但它不是网站当前所在的位置(它是genericname.herokuapp.com域名)

知道工作失败的原因吗?如何收到要发送的电子邮件?

1 个答案:

答案 0 :(得分:0)

我不确定原因,但似乎文件""有几个问题,可追溯到initial commit,其中包含语法错误。当前版本使用的资产链接如下:

app/views/user_mailer/signup_email.html.erb

第一个问题是<%= Rails.application.config.action_mailer.default_url_options %>/assets/logo.jpg 不是字符串,而是哈希。第二个问题是电子邮件资产位于default_url_options。我通过将上述内容更改为:

来收到电子邮件
/assets/email

你必须在九个地方这样做,然后它应该工作。

还在<%= Rails.application.config.action_mailer.default_url_options[:host] %>/assets/email/logo.jpg 文件中设置DEFAULT_MAILER_HOST="http://localhost:5000"之类的内容。