从Rails执行Auth到Exchange时无法识别的身份验证类型

时间:2011-01-03 20:49:35

标签: ruby-on-rails exchange-server

尝试使用Ruby on Rails中的Exchange Server进行身份验证时出现此错误:

  

504 5.7.4无法识别的身份验证   型

config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  :address              => "x.x.x.x",
  :port                 => 25,
  :user_name            => "xxdomain\xxuser",
  :password             => "xxxxxx",
  :authentication       => :login,
  :enable_starttls_auto => true
}

我尝试了各种配置设置组合,包括更改设置以使用“普通”身份验证,添加域,将enable_starttls_auto设置为true,false,并完全删除它,删除端口。没有任何效果。

有什么想法吗?

1 个答案:

答案 0 :(得分:7)

以下内容来自链接:

Rails and Exchange Email Auth

1)将 ruby​​-ntlm gem添加到您的Gemfile中并运行捆绑安装

2)将 NTLM SMTP 库添加到 config / environment.rb 文件中。

# Load the rails application
  require File.expand_path('../application', __FILE__)
  require 'ntlm/smtp'
# Initialize the rails application
  RailsApp::Application.initialize! 

3)设置环境文件以使用NTLM进行身份验证。

config.active_support.deprecation = :notify
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
 :address => '<your-email-server>',
 :domain => '<your-domain>',
 :user_name => '<your-username>',
 :password => '<your-unencrypted-password>',
 :port => 25,
 :authentication => :ntlm

****用您自己的***替换值