Есть много других вариантов ... см. Этот пост в блоге для большего количества идей:
http://www.simonecarletti.com/blog/2009/06/capistrano-and-database-yml
Вот начало ...
Добавьте это в файл среды production.rb:
ActionMailer::Base.smtp_settings = File.expand_path(File.join(RAILS_ROOT, 'config', 'actionmailer.yml'))
А в задании по капистрано вы можете сделать что-то вроде этого:
desc "Generate actionmailer.yml file"
task :generate_actionmailer_yml, :roles=>:app do
secret_password = Capistrano::CLI.ui.ask "Enter your secret mail password:"
template = File.read("config/deploy/actionmailer.yml.erb")
buffer = ERB.new(template).result(binding)
put buffer, "#{shared_path}/config/actionmailer.yml"
end
desc "Link actionmailer.yml from shared"
task :link_actionmailer_yml, :roles=>:app do
run "rm -f #{current_path}/config/actionmailer.yml && ln -s #{shared_path}/config/actionmailer.yml #{current_path}/config/actionmailer.yml"
end
after "deploy:finalize_update", "deploy:link_actionmailer_yml"
Затем вы создаете шаблон файла actionmailer.yml.erb:
address: "my.smtp.com"
port: 587
authentication: :plain
user_name: "user@name.com"
password: <%= secret_password %>