2012-04-02 5 views
0

Ich bin Links in meine E-Mails von meiner Heroku App gesendet. Ich habe den ActionMailer railscast verfolgt und es lief alles gut in der Entwicklung, aber wenn man heroku/sendgrid benutzt, werden die Links ohne einen Host gesendet. Zum Beispiel ist statt http://www.reelify.com/users/2 th Link nur http://users/2ActionMailer Link-Host Fehler Rails 3.1 und Heroku

Hier ist mein setup_mail.rb in initializers:

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? 

ich auch diese Linie meiner production.rb habe versucht, das Hinzufügen, aber es wird jetzt auf Kommentar während ich testen:

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

Wer irgendwelche Ideen?

Antwort

2

Ich würde vermuten, Sie setzen Pfade in Ihrer E-Mail und nicht Urls:

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

In ausgehende Kommunikation (E-Mail etc.), stellen Sie sicher immer sind Sie _urls

+0

ah verwenden ich sehe, das ist genau was ich gemacht habe. Ich hatte einen link_to Helfer und benutzte "@user" als href. Vielen Dank – kcurtin