问题描述
尝试从Ruby on Rails向Exchange Server进行身份验证时出现此错误:
I'm getting this error when trying to authenticate with Exchange Server from Ruby on Rails:
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,以及将其完全删除,删除端口.什么都没有.
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.
有什么想法吗?
推荐答案
下面是来自链接:
1)将 ruby-ntlm gem添加到您的Gemfile中,然后运行捆绑安装.
1) Add the ruby-ntlm gem to your Gemfile and run bundle install.
2)将 NTLM SMTP 库添加到您的 config/environment.rb 文件中.
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)设置您的环境文件以通过NTLM进行身份验证.
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***
这篇关于从Rails进行Exchange身份验证时无法识别的身份验证类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!