2016-07-29 40 views
1

Ich arbeite an einer Rails-App, die E-Mails von einem Kontaktformular (via Mailer) sendet. Das alles funktioniert super .. in der Entwicklung. Ich habe es gerade eingerichtet, um von der Domain @dev.example.com) zu senden und in der Produktion möchte ich die App von nur @example.com senden. Ich habe config.action_mailer.smtp_settings mit allen SMTP-Informationen für jede Umgebung im Ordner config/environments hinzugefügt. Das Problem ist, wenn ich die default from: Adresse in den Mailer einstellen, bin ich hartcodieren @dev.example.com.Absenderadresse für jede Umgebung in Rails einstellen

Gibt es eine Möglichkeit, entweder:

prüfen, welche Umgebung die App derzeit ausgeführt wird und eine E-Mail-Adresse/Domain für jede Umgebung definieren?

oder

Erhalten Sie die aktuelle Umgebung des :domain aus den SMTP-Einstellungen in den jeweiligen config/Umgebungen/*. Rb-Datei?

Alle anderen Ideen willkommen.

Dank

Antwort

0

Sie folgendes tun:

# config/initializers/rails_additional_env.rb: 
if defined?(Rails) 
    case Rails.env 
    when "production" 
    RAILS_DOMAIN = "example.com" 
    when "development" 
    RAILS_DOMAIN = "dev.example.com" 
    end 
end 

Dann in Ihrem Mailer ist

default from: "[email protected]#{RAILS_DOMAIN}" 

Hier ist ein Ergebnis für die Entwicklungsumgebung.

screenshot