ActionMailer, ссылка на хост, проваленные рельсы 3.1 и героку
Я включаю ссылки в мои электронные письма, отправленные из моего приложения heroku. Я следовал за RailM-пакетом ActionMailer и у меня все работало нормально, но при использовании heroku / sendgrid ссылки отправляются без хоста. Например, вместо Geoff Dalgas ссылки просто Geoff Dalgas
Вот мой 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 ответ
Решение
Я предполагаю, что вы вводите пути в своей электронной почте, а не в URL:
users_path => /users
users_url => http://localhost:3000/users
В исходящем общении (электронная почта и т. Д.) Всегда убедитесь, что вы используете _urls