我想使用mailman服务器向特定邮件发送确认邮件。我多次尝试过这样做。但我没有得到任何解决方案。请告诉我做这件事。
答案 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 }
然后你应该没事!