如何使用ruby on rails上的mailman服务器向特定邮件发送回复邮件

时间:2014-12-30 13:26:11

标签: ruby-on-rails-4 mailman

我想使用mailman服务器向特定邮件发送确认邮件。我多次尝试过这样做。但我没有得到任何解决方案。请告诉我做这件事。

1 个答案:

答案 0 :(得分:2)

这很简单:

我喜欢使用初始化程序来处理这个问题,如下所示:

<强>配置/初始化/ setup_email.rb

if Rails.env.production?
 ActionMailer::Base.smtp_settings = {
  :user_name => ENV['SENDGRID_USERNAME'],
  :password => ENV['SENDGRID_PASSWORD'],
  :domain => ENV['SENDGRID_DOMAIN'],
  :address => "smtp.sendgrid.net",
  :port => 587,
  :authentication => :plain,
  :enable_starttls_auto => true
 }
end

然后在生产和开发环境中你必须做这样的事情:

<强>配置/环境/ production.rb

config.action_mailer.default_url_options = { host: "http://www.example.com" }
config.action_mailer.asset_host = "http://www.example.com"

至于开发环境,我建议你安装mailcatcher gem:

$ gem install mailcatcher

安装完成后,运行mailcatcher命令:

$ mailcatcher

这将在http://127.0.0.1:1080上启用每个电子邮件发送的网页,您就可以预览它们了。只需确保您具有以下配置

<强>配置/环境/ development.rb

config.action_mailer.default_url_options = { host: "localhost:3000" }
config.action_mailer.asset_host = "http://localhost:3000"

#mailcatcher configs
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = { :address => "localhost", :port => 1025 }

然后你应该没事!