ActionMailer, ссылка на хост, проваленный рельс 3.1 и героку - PullRequest
0 голосов
/ 02 апреля 2012

Я включаю ссылки в свои электронные письма, отправленные из моего приложения heroku. Я следовал за RailM-пакетом ActionMailer и у меня все работало нормально, но при использовании heroku / sendgrid ссылки отправляются без хоста. Например, вместо http://www.reelify.com/users/2-я ссылка просто http://users/2

Вот мой setup_mail.rb в инициализаторах:

require 'development_mail_interceptor'

if Rails.env.production?
  ActionMailer::Base.smtp_settings = {
  :address        => 'smtp.sendgrid.net',
  :port           => '587',
  :authentication => :plain,
  :user_name      => 'XXX',
  :password       => 'XXX',
  :domain         => 'heroku.com'
}
else
ActionMailer::Base.smtp_settings = {
  :address              => "smtp.gmail.com",
  :port                 => 587,
  :domain               => "reelify.com",
  :user_name            => "XXX",
  :password             => "XXX",
  :authentication       => "plain",
  :enable_starttls_auto => true
}
end

ActionMailer::Base.default_url_options[:host] = "reelify.com"


ActionMailer::Base.register_interceptor(DevelopmentMailInterceptor) if    Rails.env.development?

Я также пытался добавить эту строку в мой production.rb, но она сейчас закомментирована, пока я тестирую:

config.action_mailer.default_url_options = {  :host => 'reelify.com' }

У кого-нибудь есть идеи?

1 Ответ

2 голосов
/ 03 апреля 2012

Я полагаю, вы вводите пути в своей электронной почте, а не в URL:

users_path => /users
users_url => http://localhost:3000/users

В исходящих сообщениях (электронная почта и т. Д.) Всегда убедитесь, что вы используете _urls

...