在ruby中无法通过SMTP连接到Exchange服务器发送邮件

时间:2013-01-31 23:43:28

标签: ruby smtp exchange-server

我已经尝试了所有我能想到的东西。我尝试过所有我能想到的身份验证类型 这是我的设置

delivery_method :smtp, { 
                       :address              => "xxxxxxxxx.com",
                       :port                 => port,
                       :domain               => 'xxxxxx.com',
                       :user_name            => 'username',
                       :password             => "passworde",
                       :authentication       => 'plain',
                       :enable_starttls_auto => true  }

如果我使用端口25(我认为这是正确的端口),这是我的错误

c:/Ruby193/lib/ruby/1.9.1/net/smtp.rb:960:in `check_auth_response': 504 5.7.4 Unrecognized authentication type (Net::SMTPAuthenticationError)

如果我使用端口587

,这是我的错误
c:/Ruby193/lib/ruby/1.9.1/openssl/ssl-internal.rb:121:in `post_connection_check': hostname does not match the server certificate (OpenSSL::SSL::SSLError)

1 个答案:

答案 0 :(得分:1)

您传递的哈希应将:plain定义为符号,而不是ActionMailer::Base docs的字符串。服务器肯定在端口25上响应(504 5.7.4无法识别的身份验证类型错误来自服务器)所以坚持使用该端口。

也可能是您的服务器上禁用了普通身份验证。查看Cannot get ActionMailer working with MS Exchange via SMTP了解详情。