如何检查 Rails 邮件设置

Gee*_*Out 2 smtp ruby-on-rails ruby-on-rails-3

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

但是我应该在配置中的哪里更改我尝试发送的 SMTP?以及如何设置它,以便在 dev/stage/live 上它使用其发送邮件的服务器的适当 SMTP 配置?

谢谢,亚历克斯

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

Til*_*ilo 5

示例假设您使用邮件服务器 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
Run Code Online (Sandbox Code Playgroud)

另请参阅: 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  
   }
Run Code Online (Sandbox Code Playgroud)

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