如何检查Rails邮件设置

时间:2011-05-26 20:15:42

标签: ruby-on-rails ruby-on-rails-3 smtp

我正在尝试调试rails如何发送电子邮件。目前它对我不起作用:))

但是我在配置中的哪个地方更改了我要发送的SMTP?我如何设置它以便在dev / stage / live上使用它发送的服务器的相应SMTP配置?

谢谢, 亚历

ps - 我最初使用本教程进行设置:http://guides.rubyonrails.org/action_mailer_basics.html

1 个答案:

答案 0 :(得分:3)

示例假设您使用邮件服务器MAIL.YOUR-DOMAIN.COM

Action Mailer现在使用Mail gem - 您可能需要在./config/environments/env.rb文件中使用这样的内容:

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  :address              => "MAIL.YOUR-DOMAIN.COM",
  :port                 => 587,
  :domain               => 'YOUR-DOMAIN.COM',
  :user_name            => '<username>',
  :password             => '<password>',
  :authentication       => 'plain',
  :enable_starttls_auto => true  }
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true

另见:http://edgeguides.rubyonrails.org/action_mailer_basics.html

另一种方法是将以下内容放入./config/initializers/setup_mail.rb中:

ActionMailer::Base.smtp_settings = {  
      :address              => "MAIL.YOUR-DOMAIN.COM",  
      :port                 => 587,  
      :domain               => "YOUR-DOMAIN.COM",  
     :user_name            => "<username>"
      :password             => "<password>"
      :authentication       => "plain",  
      :enable_starttls_auto => true  
   }

e.g。如果您想使用Gmail的SMTP服务器通过Gmail帐户发送电子邮件,则上述代码有效。 其他SMTP服务器可能需要其他值:authentication和:enable_starttls_auto 取决于SMTP服务器设置