Unrecognized authentication type when doing an Aut

2019-02-19 04:13发布

问题:

I'm getting this error when trying to authenticate with Exchange Server from Ruby on Rails:

504 5.7.4 Unrecognized authentication type

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
}

I've tried all sorts of combinations of configuration settings, including changing the settings to use "plain" authentication, adding the domain, setting enable_starttls_auto to true, false, and removing it entirely, removing the port. Nothing has worked.

Any ideas?

回答1:

The below is from link:

Rails and Exchange Email Auth

1) Add the ruby-ntlm gem to your Gemfile and run bundle install.

2) Add the NTLM SMTP library to your config/environment.rb file.

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

3) Set up your environment file to authenticate with 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

****replace values with you own***